aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
commitee2229339429d50afa33e2f8b9c0ee0939766290 (patch)
treea5ee54bd23c24950e9b10815f3e87605906992d8
parent9e1371424bdf4c31d756d686313730d4c61f7ac5 (diff)
downloadNPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.gz
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.bz2
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.zip
Change project structure, embed resources into jar and remove libraries from source control
-rw-r--r--.classpath19
-rw-r--r--.gitignore43
-rw-r--r--.idea/.gitignore8
-rw-r--r--.idea/encodings.xml7
-rw-r--r--.idea/misc.xml14
-rw-r--r--.idea/uiDesigner.xml124
-rw-r--r--.idea/vcs.xml6
-rw-r--r--.mvn/wrapper/maven-wrapper.jarbin0 -> 58727 bytes
-rw-r--r--.mvn/wrapper/maven-wrapper.properties2
-rw-r--r--.project28
-rwxr-xr-x[-rw-r--r--]LICENSE0
-rwxr-xr-x[-rw-r--r--]README.md0
-rwxr-xr-x[-rw-r--r--]flowChart.jpegbin265753 -> 265753 bytes
-rw-r--r--lib/json-simple-1.1.1.jarbin23737 -> 0 bytes
-rw-r--r--lib/linux/javafx-swt.jarbin37118 -> 0 bytes
-rw-r--r--lib/linux/javafx.base.jarbin745370 -> 0 bytes
-rw-r--r--lib/linux/javafx.controls.jarbin2531099 -> 0 bytes
-rw-r--r--lib/linux/javafx.fxml.jarbin128790 -> 0 bytes
-rw-r--r--lib/linux/javafx.graphics.jarbin4409913 -> 0 bytes
-rw-r--r--lib/linux/javafx.media.jarbin266912 -> 0 bytes
-rw-r--r--lib/linux/javafx.properties3
-rw-r--r--lib/linux/javafx.swing.jarbin88725 -> 0 bytes
-rw-r--r--lib/linux/javafx.web.jarbin725645 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-54.sobin51568 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-56.sobin51592 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-57.sobin51592 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-ffmpeg-56.sobin51720 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-ffmpeg-57.sobin51592 -> 0 bytes
-rw-r--r--lib/linux/libavplugin-ffmpeg-58.sobin51592 -> 0 bytes
-rw-r--r--lib/linux/libdecora_sse.sobin70624 -> 0 bytes
-rw-r--r--lib/linux/libfxplugins.sobin51016 -> 0 bytes
-rw-r--r--lib/linux/libglass.sobin12928 -> 0 bytes
-rw-r--r--lib/linux/libglassgtk2.sobin522752 -> 0 bytes
-rw-r--r--lib/linux/libglassgtk3.sobin522976 -> 0 bytes
-rw-r--r--lib/linux/libgstreamer-lite.sobin2248752 -> 0 bytes
-rw-r--r--lib/linux/libjavafx_font.sobin16928 -> 0 bytes
-rw-r--r--lib/linux/libjavafx_font_freetype.sobin27368 -> 0 bytes
-rw-r--r--lib/linux/libjavafx_font_pango.sobin25496 -> 0 bytes
-rw-r--r--lib/linux/libjavafx_iio.sobin256344 -> 0 bytes
-rw-r--r--lib/linux/libjfxmedia.sobin520504 -> 0 bytes
-rw-r--r--lib/linux/libjfxwebkit.sobin98926456 -> 0 bytes
-rw-r--r--lib/linux/libprism_common.sobin59136 -> 0 bytes
-rw-r--r--lib/linux/libprism_es2.sobin63856 -> 0 bytes
-rw-r--r--lib/linux/libprism_sw.sobin71432 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-console-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-console-l1-2-0.dllbin21024 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-datetime-l1-1-0.dllbin20512 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-debug-l1-1-0.dllbin20544 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-errorhandling-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-file-l1-1-0.dllbin24104 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-file-l1-2-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-file-l2-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-handle-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-heap-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-interlocked-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-libraryloader-l1-1-0.dllbin21568 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-localization-l1-2-0.dllbin23080 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-memory-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-namedpipe-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-processenvironment-l1-1-0.dllbin21544 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-processthreads-l1-1-0.dllbin22560 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-processthreads-l1-1-1.dllbin21056 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-profile-l1-1-0.dllbin20008 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-rtlsupport-l1-1-0.dllbin21056 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-string-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-synch-l1-1-0.dllbin22568 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-synch-l1-2-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-sysinfo-l1-1-0.dllbin21544 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-timezone-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-core-util-l1-1-0.dllbin20520 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-conio-l1-1-0.dllbin21544 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-convert-l1-1-0.dllbin24616 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-environment-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-filesystem-l1-1-0.dllbin22568 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-heap-l1-1-0.dllbin21544 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-locale-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-math-l1-1-0.dllbin29528 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-multibyte-l1-1-0.dllbin28736 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-private-l1-1-0.dllbin73048 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-process-l1-1-0.dllbin21568 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-runtime-l1-1-0.dllbin25128 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-stdio-l1-1-0.dllbin26664 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-string-l1-1-0.dllbin26664 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-time-l1-1-0.dllbin23080 -> 0 bytes
-rw-r--r--lib/windows/bin/api-ms-win-crt-utility-l1-1-0.dllbin21032 -> 0 bytes
-rw-r--r--lib/windows/bin/decora_sse.dllbin81408 -> 0 bytes
-rw-r--r--lib/windows/bin/fxplugins.dllbin119296 -> 0 bytes
-rw-r--r--lib/windows/bin/glass.dllbin264704 -> 0 bytes
-rw-r--r--lib/windows/bin/glib-lite.dllbin611840 -> 0 bytes
-rw-r--r--lib/windows/bin/gstreamer-lite.dllbin901632 -> 0 bytes
-rw-r--r--lib/windows/bin/javafx_font.dllbin67072 -> 0 bytes
-rw-r--r--lib/windows/bin/javafx_iio.dllbin159232 -> 0 bytes
-rw-r--r--lib/windows/bin/jfxmedia.dllbin137216 -> 0 bytes
-rw-r--r--lib/windows/bin/jfxwebkit.dllbin60861440 -> 0 bytes
-rw-r--r--lib/windows/bin/msvcp140.dllbin627440 -> 0 bytes
-rw-r--r--lib/windows/bin/prism_common.dllbin55808 -> 0 bytes
-rw-r--r--lib/windows/bin/prism_d3d.dllbin124928 -> 0 bytes
-rw-r--r--lib/windows/bin/prism_sw.dllbin92672 -> 0 bytes
-rw-r--r--lib/windows/bin/ucrtbase.dllbin1026088 -> 0 bytes
-rw-r--r--lib/windows/bin/vcruntime140.dllbin85232 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx-swt.jarbin37110 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.base.jarbin745369 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.controls.jarbin2531028 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.fxml.jarbin128790 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.graphics.jarbin4341110 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.media.jarbin266912 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.properties3
-rw-r--r--lib/windows/lib/javafx.swing.jarbin88725 -> 0 bytes
-rw-r--r--lib/windows/lib/javafx.web.jarbin725645 -> 0 bytes
-rw-r--r--lib/windows/lib/src.zipbin6707232 -> 0 bytes
-rwxr-xr-xmvnw316
-rw-r--r--mvnw.cmd188
-rw-r--r--pom.xml84
-rwxr-xr-x[-rw-r--r--]settings.json0
-rw-r--r--src/main/java/module-info.java12
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/Driver.java (renamed from src/gui/Driver.java)31
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java (renamed from src/devmenu/DebugMenu.java)4
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java (renamed from src/devmenu/DiffEditor.java)10
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java (renamed from src/devmenu/LevelEditor.java)14
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/LevelList.java (renamed from src/devmenu/LevelList.java)19
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java (renamed from src/devmenu/NotesEditor.java)8
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Block.java (renamed from src/gameplay/Block.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java (renamed from src/gameplay/NoteInfo.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java (renamed from src/gameplay/SongPlayer.java)25
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Target.java (renamed from src/gameplay/Target.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Timer.java (renamed from src/gameplay/Timer.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/GameOver.java (renamed from src/gui/GameOver.java)7
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/Leaderboard.java (renamed from src/gui/Leaderboard.java)17
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelDetails.java (renamed from src/gui/LevelDetails.java)7
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelSelector.java (renamed from src/gui/LevelSelector.java)16
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelSurround.java (renamed from src/gui/LevelSurround.java)19
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/MainMenu.java (renamed from src/gui/MainMenu.java)6
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/Settings.java (renamed from src/gui/Settings.java)8
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/Difficulty.java (renamed from src/main/Difficulty.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java (renamed from src/main/LeaderboardEntry.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/Level.java (renamed from src/main/Level.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/LevelController.java (renamed from src/main/LevelController.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/ScoreController.java (renamed from src/main/ScoreController.java)4
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/SettingsController.java (renamed from src/main/SettingsController.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/SoundController.java (renamed from src/main/SoundController.java)34
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/backward.wav (renamed from resources/backward.wav)bin34684 -> 34684 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/fairyfountain.wav (renamed from resources/fairyfountain.wav)bin31539988 -> 31539988 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/forward.wav (renamed from resources/forward.wav)bin54992 -> 54992 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/hit.wav (renamed from resources/hit.wav)bin34820 -> 34820 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/miss.wav (renamed from resources/miss.wav)bin44144 -> 44144 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/mountains.png (renamed from resources/mountains.png)bin1115601 -> 1115601 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/style.css (renamed from src/gui/style.css)0
-rwxr-xr-xstart_linux.sh1
-rw-r--r--start_windows.bat1
149 files changed, 940 insertions, 166 deletions
diff --git a/.classpath b/.classpath
deleted file mode 100644
index 4d50168..0000000
--- a/.classpath
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
- <attributes>
- <attribute name="module" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.base.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.controls.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.fxml.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.graphics.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.media.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.swing.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx.web.jar"/>
- <classpathentry kind="lib" path="lib/windows/lib/javafx-swt.jar"/>
- <classpathentry kind="lib" path="lib/json-simple-1.1.1.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/.gitignore b/.gitignore
index a2a2114..0608178 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,39 @@
-*.class
-/bin/
-/.vscode/
-/.settings/
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+/levels/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding">
+ <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..039a9d1
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
+ <component name="MavenProjectsManager">
+ <option name="originalFiles">
+ <list>
+ <option value="$PROJECT_DIR$/pom.xml" />
+ </list>
+ </option>
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_22" default="true" project-jdk-name="22" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/out" />
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="Git" />
+ </component>
+</project> \ No newline at end of file
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 0000000..c1dd12f
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.jar
Binary files differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..40ca015
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar \ No newline at end of file
diff --git a/.project b/.project
deleted file mode 100644
index 6a5759f..0000000
--- a/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>GuitarHero</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
- <filteredResources>
- <filter>
- <id>1683547755561</id>
- <name></name>
- <type>30</type>
- <matcher>
- <id>org.eclipse.core.resources.regexFilterMatcher</id>
- <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
- </matcher>
- </filter>
- </filteredResources>
-</projectDescription>
diff --git a/LICENSE b/LICENSE
index bf0fbd9..bf0fbd9 100644..100755
--- a/LICENSE
+++ b/LICENSE
diff --git a/README.md b/README.md
index e5c3e5e..e5c3e5e 100644..100755
--- a/README.md
+++ b/README.md
diff --git a/flowChart.jpeg b/flowChart.jpeg
index cd81a59..cd81a59 100644..100755
--- a/flowChart.jpeg
+++ b/flowChart.jpeg
Binary files differ
diff --git a/lib/json-simple-1.1.1.jar b/lib/json-simple-1.1.1.jar
deleted file mode 100644
index 66347a6..0000000
--- a/lib/json-simple-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx-swt.jar b/lib/linux/javafx-swt.jar
deleted file mode 100644
index 0eb0e95..0000000
--- a/lib/linux/javafx-swt.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.base.jar b/lib/linux/javafx.base.jar
deleted file mode 100644
index 04b547b..0000000
--- a/lib/linux/javafx.base.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.controls.jar b/lib/linux/javafx.controls.jar
deleted file mode 100644
index 8775c8e..0000000
--- a/lib/linux/javafx.controls.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.fxml.jar b/lib/linux/javafx.fxml.jar
deleted file mode 100644
index ae2fa84..0000000
--- a/lib/linux/javafx.fxml.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.graphics.jar b/lib/linux/javafx.graphics.jar
deleted file mode 100644
index a662b10..0000000
--- a/lib/linux/javafx.graphics.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.media.jar b/lib/linux/javafx.media.jar
deleted file mode 100644
index 87cc06e..0000000
--- a/lib/linux/javafx.media.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.properties b/lib/linux/javafx.properties
deleted file mode 100644
index ad39df9..0000000
--- a/lib/linux/javafx.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-javafx.version=15.0.1
-javafx.runtime.version=15.0.1+1
-javafx.runtime.build=1
diff --git a/lib/linux/javafx.swing.jar b/lib/linux/javafx.swing.jar
deleted file mode 100644
index 9b18d17..0000000
--- a/lib/linux/javafx.swing.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/javafx.web.jar b/lib/linux/javafx.web.jar
deleted file mode 100644
index 0b54acd..0000000
--- a/lib/linux/javafx.web.jar
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-54.so b/lib/linux/libavplugin-54.so
deleted file mode 100644
index cebca6f..0000000
--- a/lib/linux/libavplugin-54.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-56.so b/lib/linux/libavplugin-56.so
deleted file mode 100644
index 7438e1c..0000000
--- a/lib/linux/libavplugin-56.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-57.so b/lib/linux/libavplugin-57.so
deleted file mode 100644
index 1185a5f..0000000
--- a/lib/linux/libavplugin-57.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-ffmpeg-56.so b/lib/linux/libavplugin-ffmpeg-56.so
deleted file mode 100644
index 363863a..0000000
--- a/lib/linux/libavplugin-ffmpeg-56.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-ffmpeg-57.so b/lib/linux/libavplugin-ffmpeg-57.so
deleted file mode 100644
index ab9c16c..0000000
--- a/lib/linux/libavplugin-ffmpeg-57.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libavplugin-ffmpeg-58.so b/lib/linux/libavplugin-ffmpeg-58.so
deleted file mode 100644
index 17d41c0..0000000
--- a/lib/linux/libavplugin-ffmpeg-58.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libdecora_sse.so b/lib/linux/libdecora_sse.so
deleted file mode 100644
index 2ffe8f8..0000000
--- a/lib/linux/libdecora_sse.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libfxplugins.so b/lib/linux/libfxplugins.so
deleted file mode 100644
index 643bffc..0000000
--- a/lib/linux/libfxplugins.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libglass.so b/lib/linux/libglass.so
deleted file mode 100644
index b886763..0000000
--- a/lib/linux/libglass.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libglassgtk2.so b/lib/linux/libglassgtk2.so
deleted file mode 100644
index babbc30..0000000
--- a/lib/linux/libglassgtk2.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libglassgtk3.so b/lib/linux/libglassgtk3.so
deleted file mode 100644
index 399a3e2..0000000
--- a/lib/linux/libglassgtk3.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libgstreamer-lite.so b/lib/linux/libgstreamer-lite.so
deleted file mode 100644
index 62c7183..0000000
--- a/lib/linux/libgstreamer-lite.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjavafx_font.so b/lib/linux/libjavafx_font.so
deleted file mode 100644
index cf81fea..0000000
--- a/lib/linux/libjavafx_font.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjavafx_font_freetype.so b/lib/linux/libjavafx_font_freetype.so
deleted file mode 100644
index 41f6b8f..0000000
--- a/lib/linux/libjavafx_font_freetype.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjavafx_font_pango.so b/lib/linux/libjavafx_font_pango.so
deleted file mode 100644
index 009cb1f..0000000
--- a/lib/linux/libjavafx_font_pango.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjavafx_iio.so b/lib/linux/libjavafx_iio.so
deleted file mode 100644
index 50c625c..0000000
--- a/lib/linux/libjavafx_iio.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjfxmedia.so b/lib/linux/libjfxmedia.so
deleted file mode 100644
index 29289b2..0000000
--- a/lib/linux/libjfxmedia.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libjfxwebkit.so b/lib/linux/libjfxwebkit.so
deleted file mode 100644
index 019eaa7..0000000
--- a/lib/linux/libjfxwebkit.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libprism_common.so b/lib/linux/libprism_common.so
deleted file mode 100644
index 99a2781..0000000
--- a/lib/linux/libprism_common.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libprism_es2.so b/lib/linux/libprism_es2.so
deleted file mode 100644
index b15e105..0000000
--- a/lib/linux/libprism_es2.so
+++ /dev/null
Binary files differ
diff --git a/lib/linux/libprism_sw.so b/lib/linux/libprism_sw.so
deleted file mode 100644
index 6f6b9ef..0000000
--- a/lib/linux/libprism_sw.so
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-console-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-console-l1-1-0.dll
deleted file mode 100644
index 528187c..0000000
--- a/lib/windows/bin/api-ms-win-core-console-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-console-l1-2-0.dll b/lib/windows/bin/api-ms-win-core-console-l1-2-0.dll
deleted file mode 100644
index 4545f22..0000000
--- a/lib/windows/bin/api-ms-win-core-console-l1-2-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-datetime-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-datetime-l1-1-0.dll
deleted file mode 100644
index 4395104..0000000
--- a/lib/windows/bin/api-ms-win-core-datetime-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-debug-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-debug-l1-1-0.dll
deleted file mode 100644
index 343fa8e..0000000
--- a/lib/windows/bin/api-ms-win-core-debug-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-errorhandling-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-errorhandling-l1-1-0.dll
deleted file mode 100644
index 072e0dc..0000000
--- a/lib/windows/bin/api-ms-win-core-errorhandling-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-file-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-file-l1-1-0.dll
deleted file mode 100644
index 38c645b..0000000
--- a/lib/windows/bin/api-ms-win-core-file-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-file-l1-2-0.dll b/lib/windows/bin/api-ms-win-core-file-l1-2-0.dll
deleted file mode 100644
index 6f99bb8..0000000
--- a/lib/windows/bin/api-ms-win-core-file-l1-2-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-file-l2-1-0.dll b/lib/windows/bin/api-ms-win-core-file-l2-1-0.dll
deleted file mode 100644
index 91a9559..0000000
--- a/lib/windows/bin/api-ms-win-core-file-l2-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-handle-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-handle-l1-1-0.dll
deleted file mode 100644
index efaf918..0000000
--- a/lib/windows/bin/api-ms-win-core-handle-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-heap-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-heap-l1-1-0.dll
deleted file mode 100644
index 8368d95..0000000
--- a/lib/windows/bin/api-ms-win-core-heap-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-interlocked-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-interlocked-l1-1-0.dll
deleted file mode 100644
index 2626b5f..0000000
--- a/lib/windows/bin/api-ms-win-core-interlocked-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-libraryloader-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-libraryloader-l1-1-0.dll
deleted file mode 100644
index 62b03d5..0000000
--- a/lib/windows/bin/api-ms-win-core-libraryloader-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-localization-l1-2-0.dll b/lib/windows/bin/api-ms-win-core-localization-l1-2-0.dll
deleted file mode 100644
index 4d9cf6e..0000000
--- a/lib/windows/bin/api-ms-win-core-localization-l1-2-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-memory-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-memory-l1-1-0.dll
deleted file mode 100644
index 2c42c9a..0000000
--- a/lib/windows/bin/api-ms-win-core-memory-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-namedpipe-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-namedpipe-l1-1-0.dll
deleted file mode 100644
index b92a7e3..0000000
--- a/lib/windows/bin/api-ms-win-core-namedpipe-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-processenvironment-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-processenvironment-l1-1-0.dll
deleted file mode 100644
index 1607de8..0000000
--- a/lib/windows/bin/api-ms-win-core-processenvironment-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-processthreads-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-processthreads-l1-1-0.dll
deleted file mode 100644
index 73fe663..0000000
--- a/lib/windows/bin/api-ms-win-core-processthreads-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-processthreads-l1-1-1.dll b/lib/windows/bin/api-ms-win-core-processthreads-l1-1-1.dll
deleted file mode 100644
index c194fef..0000000
--- a/lib/windows/bin/api-ms-win-core-processthreads-l1-1-1.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-profile-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-profile-l1-1-0.dll
deleted file mode 100644
index 53c2264..0000000
--- a/lib/windows/bin/api-ms-win-core-profile-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-rtlsupport-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-rtlsupport-l1-1-0.dll
deleted file mode 100644
index 215af2e..0000000
--- a/lib/windows/bin/api-ms-win-core-rtlsupport-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-string-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-string-l1-1-0.dll
deleted file mode 100644
index eb16d63..0000000
--- a/lib/windows/bin/api-ms-win-core-string-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-synch-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-synch-l1-1-0.dll
deleted file mode 100644
index a832560..0000000
--- a/lib/windows/bin/api-ms-win-core-synch-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-synch-l1-2-0.dll b/lib/windows/bin/api-ms-win-core-synch-l1-2-0.dll
deleted file mode 100644
index 98afd0c..0000000
--- a/lib/windows/bin/api-ms-win-core-synch-l1-2-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-sysinfo-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-sysinfo-l1-1-0.dll
deleted file mode 100644
index e87aa67..0000000
--- a/lib/windows/bin/api-ms-win-core-sysinfo-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-timezone-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-timezone-l1-1-0.dll
deleted file mode 100644
index 9759c75..0000000
--- a/lib/windows/bin/api-ms-win-core-timezone-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-core-util-l1-1-0.dll b/lib/windows/bin/api-ms-win-core-util-l1-1-0.dll
deleted file mode 100644
index 7260a18..0000000
--- a/lib/windows/bin/api-ms-win-core-util-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-conio-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-conio-l1-1-0.dll
deleted file mode 100644
index 0480409..0000000
--- a/lib/windows/bin/api-ms-win-crt-conio-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-convert-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-convert-l1-1-0.dll
deleted file mode 100644
index 591a019..0000000
--- a/lib/windows/bin/api-ms-win-crt-convert-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-environment-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-environment-l1-1-0.dll
deleted file mode 100644
index b88ac28..0000000
--- a/lib/windows/bin/api-ms-win-crt-environment-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-filesystem-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-filesystem-l1-1-0.dll
deleted file mode 100644
index c60772a..0000000
--- a/lib/windows/bin/api-ms-win-crt-filesystem-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-heap-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-heap-l1-1-0.dll
deleted file mode 100644
index d413aad..0000000
--- a/lib/windows/bin/api-ms-win-crt-heap-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-locale-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-locale-l1-1-0.dll
deleted file mode 100644
index e1bb543..0000000
--- a/lib/windows/bin/api-ms-win-crt-locale-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-math-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-math-l1-1-0.dll
deleted file mode 100644
index b90ddb5..0000000
--- a/lib/windows/bin/api-ms-win-crt-math-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-multibyte-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-multibyte-l1-1-0.dll
deleted file mode 100644
index 1eecd42..0000000
--- a/lib/windows/bin/api-ms-win-crt-multibyte-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-private-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-private-l1-1-0.dll
deleted file mode 100644
index 3051e75..0000000
--- a/lib/windows/bin/api-ms-win-crt-private-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-process-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-process-l1-1-0.dll
deleted file mode 100644
index ab8d632..0000000
--- a/lib/windows/bin/api-ms-win-crt-process-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-runtime-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-runtime-l1-1-0.dll
deleted file mode 100644
index ff1c19a..0000000
--- a/lib/windows/bin/api-ms-win-crt-runtime-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-stdio-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-stdio-l1-1-0.dll
deleted file mode 100644
index 9e9e6e1..0000000
--- a/lib/windows/bin/api-ms-win-crt-stdio-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-string-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-string-l1-1-0.dll
deleted file mode 100644
index af71a1a..0000000
--- a/lib/windows/bin/api-ms-win-crt-string-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-time-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-time-l1-1-0.dll
deleted file mode 100644
index 8ed94cd..0000000
--- a/lib/windows/bin/api-ms-win-crt-time-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/api-ms-win-crt-utility-l1-1-0.dll b/lib/windows/bin/api-ms-win-crt-utility-l1-1-0.dll
deleted file mode 100644
index e836e8c..0000000
--- a/lib/windows/bin/api-ms-win-crt-utility-l1-1-0.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/decora_sse.dll b/lib/windows/bin/decora_sse.dll
deleted file mode 100644
index 1df84c4..0000000
--- a/lib/windows/bin/decora_sse.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/fxplugins.dll b/lib/windows/bin/fxplugins.dll
deleted file mode 100644
index 6d6aab0..0000000
--- a/lib/windows/bin/fxplugins.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/glass.dll b/lib/windows/bin/glass.dll
deleted file mode 100644
index 2f4ee3f..0000000
--- a/lib/windows/bin/glass.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/glib-lite.dll b/lib/windows/bin/glib-lite.dll
deleted file mode 100644
index b33a707..0000000
--- a/lib/windows/bin/glib-lite.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/gstreamer-lite.dll b/lib/windows/bin/gstreamer-lite.dll
deleted file mode 100644
index 98abe49..0000000
--- a/lib/windows/bin/gstreamer-lite.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/javafx_font.dll b/lib/windows/bin/javafx_font.dll
deleted file mode 100644
index 5916dba..0000000
--- a/lib/windows/bin/javafx_font.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/javafx_iio.dll b/lib/windows/bin/javafx_iio.dll
deleted file mode 100644
index c4592b1..0000000
--- a/lib/windows/bin/javafx_iio.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/jfxmedia.dll b/lib/windows/bin/jfxmedia.dll
deleted file mode 100644
index 673551f..0000000
--- a/lib/windows/bin/jfxmedia.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/jfxwebkit.dll b/lib/windows/bin/jfxwebkit.dll
deleted file mode 100644
index 076bc79..0000000
--- a/lib/windows/bin/jfxwebkit.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/msvcp140.dll b/lib/windows/bin/msvcp140.dll
deleted file mode 100644
index 4706515..0000000
--- a/lib/windows/bin/msvcp140.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/prism_common.dll b/lib/windows/bin/prism_common.dll
deleted file mode 100644
index a0842b4..0000000
--- a/lib/windows/bin/prism_common.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/prism_d3d.dll b/lib/windows/bin/prism_d3d.dll
deleted file mode 100644
index 5ee5e5c..0000000
--- a/lib/windows/bin/prism_d3d.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/prism_sw.dll b/lib/windows/bin/prism_sw.dll
deleted file mode 100644
index 482ed54..0000000
--- a/lib/windows/bin/prism_sw.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/ucrtbase.dll b/lib/windows/bin/ucrtbase.dll
deleted file mode 100644
index e05d4de..0000000
--- a/lib/windows/bin/ucrtbase.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/bin/vcruntime140.dll b/lib/windows/bin/vcruntime140.dll
deleted file mode 100644
index 64e5016..0000000
--- a/lib/windows/bin/vcruntime140.dll
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx-swt.jar b/lib/windows/lib/javafx-swt.jar
deleted file mode 100644
index 81f1646..0000000
--- a/lib/windows/lib/javafx-swt.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.base.jar b/lib/windows/lib/javafx.base.jar
deleted file mode 100644
index b45fae4..0000000
--- a/lib/windows/lib/javafx.base.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.controls.jar b/lib/windows/lib/javafx.controls.jar
deleted file mode 100644
index d78a436..0000000
--- a/lib/windows/lib/javafx.controls.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.fxml.jar b/lib/windows/lib/javafx.fxml.jar
deleted file mode 100644
index 0eefe6b..0000000
--- a/lib/windows/lib/javafx.fxml.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.graphics.jar b/lib/windows/lib/javafx.graphics.jar
deleted file mode 100644
index e06e695..0000000
--- a/lib/windows/lib/javafx.graphics.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.media.jar b/lib/windows/lib/javafx.media.jar
deleted file mode 100644
index 9defa67..0000000
--- a/lib/windows/lib/javafx.media.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.properties b/lib/windows/lib/javafx.properties
deleted file mode 100644
index ad39df9..0000000
--- a/lib/windows/lib/javafx.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-javafx.version=15.0.1
-javafx.runtime.version=15.0.1+1
-javafx.runtime.build=1
diff --git a/lib/windows/lib/javafx.swing.jar b/lib/windows/lib/javafx.swing.jar
deleted file mode 100644
index 1def818..0000000
--- a/lib/windows/lib/javafx.swing.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/javafx.web.jar b/lib/windows/lib/javafx.web.jar
deleted file mode 100644
index efef4e4..0000000
--- a/lib/windows/lib/javafx.web.jar
+++ /dev/null
Binary files differ
diff --git a/lib/windows/lib/src.zip b/lib/windows/lib/src.zip
deleted file mode 100644
index f6ec1e7..0000000
--- a/lib/windows/lib/src.zip
+++ /dev/null
Binary files differ
diff --git a/mvnw b/mvnw
new file mode 100755
index 0000000..8a8fb22
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,316 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /usr/local/etc/mavenrc ] ; then
+ . /usr/local/etc/mavenrc
+ fi
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="`/usr/libexec/java_home`"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`\\unset -f command; \\command -v java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=`cd "$wdir/.."; pwd`
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+ esac
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+ fi
+
+ if command -v wget > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=`cygpath --path --windows "$javaClass"`
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..1d8ab01
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,188 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% ^
+ %JVM_CONFIG_MAVEN_PROPS% ^
+ %MAVEN_OPTS% ^
+ %MAVEN_DEBUG_OPTS% ^
+ -classpath %WRAPPER_JAR% ^
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
+
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
+
+cmd /C exit /B %ERROR_CODE%
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..3e3f495
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <groupId>net.sowgro.npehero</groupId>
+ <artifactId>NPEHero</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>NPE Hero</name>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+<junit.version>5.10.0</junit.version> </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-media</artifactId>
+ <version>18.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.jsurfer</groupId>
+ <artifactId>jsurfer-jsonsimple</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-controls</artifactId>
+ <version>22-ea+11</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-fxml</artifactId>
+ <version>22-ea+11</version>
+ </dependency>
+
+<dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency> </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.11.0</version>
+ <configuration>
+ <source>22</source>
+ <target>22</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-maven-plugin</artifactId>
+ <version>0.0.8</version>
+ <executions>
+ <execution>
+ <!-- Default configuration for running with: mvn clean javafx:run -->
+ <id>default-cli</id>
+ <configuration>
+ <mainClass>net.sowgro.npehero.npehero/net.sowgro.npehero.HelloApplication</mainClass>
+ <launcher>app</launcher>
+ <jlinkZipName>app</jlinkZipName>
+ <jlinkImageName>app</jlinkImageName>
+ <noManPages>true</noManPages>
+ <stripDebug>true</stripDebug>
+ <noHeaderFiles>true</noHeaderFiles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/settings.json b/settings.json
index b7be92b..b7be92b 100644..100755
--- a/settings.json
+++ b/settings.json
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000..7fc3ef1
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+module net.sowgro.npehero {
+ requires javafx.controls;
+ requires javafx.fxml;
+ requires javafx.media;
+ requires json.simple;
+ requires java.desktop;
+
+
+ opens net.sowgro.npehero to javafx.fxml;
+ exports net.sowgro.npehero.gui;
+ exports net.sowgro.npehero;
+} \ No newline at end of file
diff --git a/src/gui/Driver.java b/src/main/java/net/sowgro/npehero/Driver.java
index b46f4c9..b5e226e 100644..100755
--- a/src/gui/Driver.java
+++ b/src/main/java/net/sowgro/npehero/Driver.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero;
import javafx.application.Application;
import javafx.application.Platform;
@@ -15,23 +15,25 @@ import javafx.scene.layout.BackgroundRepeat;
import javafx.scene.layout.BackgroundSize;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
-import main.LevelController;
-import main.SettingsController;
-import main.SoundController;
-import java.nio.file.Paths;
+import net.sowgro.npehero.gui.MainMenu;
+import net.sowgro.npehero.main.LevelController;
+import net.sowgro.npehero.main.SettingsController;
+import net.sowgro.npehero.main.SoundController;
-import devmenu.DebugMenu;
+import java.net.URL;
+import java.util.Objects;
public class Driver extends Application
-{
+{
+
public static Stage primaryStage;
static Pane primaryPane = new Pane();
public static SettingsController settingsController = new SettingsController();
public static SoundController soundController = new SoundController();
public static LevelController levelController = new LevelController();
- public static DebugMenu debug = new DebugMenu();
+// public static DebugMenu debug = new DebugMenu();
/*
* starts javafx
@@ -47,11 +49,12 @@ public class Driver extends Application
*/
@Override
public void start(Stage newPrimaryStage)
- {
+ {
primaryStage = newPrimaryStage;
Scene primaryScene = new Scene(primaryPane, 800,600);
- primaryScene.getStylesheets().add("gui/style.css");
+
+ primaryScene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.setScene(primaryScene);
primaryStage.setTitle("NPE Hero");
@@ -95,7 +98,7 @@ public class Driver extends Application
/**
* replaces the background image with a new one
- * @param url the url of the image to set
+ * @param image the url of the image to set
*/
public static void setBackground(Image image) //replaces background with a new one
{
@@ -110,7 +113,7 @@ public class Driver extends Application
public static void setMenuBackground()
{
- setBackground(new Image(Paths.get("resources/mountains.png").toUri().toString()));
+ setBackground(new Image(Driver.class.getResource("mountains.png").toExternalForm()));
}
/**
@@ -120,4 +123,8 @@ public class Driver extends Application
{
Platform.exit();
}
+
+ public static URL getResource(String fileName) {
+ return Driver.class.getResource(fileName);
+ }
}
diff --git a/src/devmenu/DebugMenu.java b/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
index 0d55e69..aecd438 100644..100755
--- a/src/devmenu/DebugMenu.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
@@ -1,6 +1,6 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
diff --git a/src/devmenu/DiffEditor.java b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
index 0991fb0..d4ebb02 100644..100755
--- a/src/devmenu/DiffEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
@@ -1,18 +1,18 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
-import gui.Driver;
-import gui.LevelSurround;
-import gui.MainMenu;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gui.LevelSurround;
+import net.sowgro.npehero.gui.MainMenu;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
-import main.Difficulty;
+import net.sowgro.npehero.main.Difficulty;
public class DiffEditor
{
diff --git a/src/devmenu/LevelEditor.java b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
index b8a6532..94fcc16 100644..100755
--- a/src/devmenu/LevelEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
@@ -1,21 +1,23 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.File;
+
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ColorPicker;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.stage.FileChooser.ExtensionFilter;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class LevelEditor
{
@@ -79,8 +81,8 @@ public class LevelEditor
diffList.getColumns().add(diffCol);
diffList.getColumns().add(validCol);
- diffCol.setCellValueFactory(new PropertyValueFactory<Difficulty,String>("title"));
- validCol.setCellValueFactory(new PropertyValueFactory<Difficulty,Boolean>("valid"));
+ diffCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title));
+ validCol.setCellValueFactory(data -> new ReadOnlyBooleanWrapper(data.getValue().isValid));
diffList.setItems(level.getDiffList());
diff --git a/src/devmenu/LevelList.java b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
index f9b4207..8d5e0cb 100644..100755
--- a/src/devmenu/LevelList.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
@@ -1,17 +1,18 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
-import gui.Driver;
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.beans.property.ReadOnlyStringWrapper;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
-import main.Level;
-import main.LevelController;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.LevelController;
public class LevelList
{
@@ -33,9 +34,9 @@ public class LevelList
levels.getColumns().add(artistCol);
levels.getColumns().add(validCol);
- titleCol.setCellValueFactory(new PropertyValueFactory<Level, String>("title"));
- artistCol.setCellValueFactory(new PropertyValueFactory<Level, String>("artist"));
- validCol.setCellValueFactory(new PropertyValueFactory<Level, Boolean>("valid"));
+ titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getTitle()));
+ artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getArtist()));
+ validCol.setCellValueFactory(data -> new ReadOnlyBooleanWrapper(data.getValue().isValid()));
levels.setItems(LevelController.getLevelList());
@@ -44,7 +45,7 @@ public class LevelList
edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem()));
Button remove = new Button("Delete");
- remove.setOnAction(e -> gui.Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
+ remove.setOnAction(e -> Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
Button refresh = new Button("Refresh");
refresh.setOnAction(e -> {
diff --git a/src/devmenu/NotesEditor.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
index 0893446..25b21f1 100644..100755
--- a/src/devmenu/NotesEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
@@ -1,17 +1,17 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
-import gameplay.Timer;
-import gui.Driver;
+import net.sowgro.npehero.gameplay.Timer;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
-import main.Difficulty;
+import net.sowgro.npehero.main.Difficulty;
public class NotesEditor
{
diff --git a/src/gameplay/Block.java b/src/main/java/net/sowgro/npehero/gameplay/Block.java
index 68e52b6..5bc9d9c 100644..100755
--- a/src/gameplay/Block.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Block.java
@@ -1,6 +1,6 @@
//glowing block of color c (jfx node)
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.effect.BlurType;
import javafx.scene.effect.DropShadow;
diff --git a/src/gameplay/NoteInfo.java b/src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java
index 6428066..a34e939 100644..100755
--- a/src/gameplay/NoteInfo.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java
@@ -1,7 +1,7 @@
/*Name: Guitar Hero Project
*Description: Contains the info for when to send a note
*/
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.paint.Color;
diff --git a/src/gameplay/SongPlayer.java b/src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java
index 8df2c1f..39932a5 100644..100755
--- a/src/gameplay/SongPlayer.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java
@@ -1,4 +1,4 @@
-package gameplay;
+package net.sowgro.npehero.gameplay;
import java.io.File;
import java.io.FileNotFoundException;
@@ -11,8 +11,8 @@ import java.util.Scanner;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
-import gui.Driver;
-import gui.GameOver;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gui.GameOver;
import javafx.geometry.Pos;
import javafx.scene.CacheHint;
import javafx.scene.input.KeyCode;
@@ -23,8 +23,9 @@ import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.animation.*;
import javafx.util.*;
-import main.Difficulty;
-import main.ScoreController;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.ScoreController;
@@ -49,14 +50,14 @@ public class SongPlayer extends Pane {
private boolean songIsPlaying = false;
private boolean missMute = false;
- private main.Level level;
+ private Level level;
private Difficulty difficulty;
private Pane pane;
Timer timer; //the timer that determines when notes will fall, counted in terms of the song's bpm
final int TIME = 1000; //delay for notes falling down the screen
- main.ScoreController scoreCounter = new ScoreController(); //used to keep track of the user's score
+ ScoreController scoreCounter = new ScoreController(); //used to keep track of the user's score
HBox buttonBox = new HBox(); //used to align the buttons horizontally
VBox place = new VBox(); //used to place the buttons within the frame
@@ -111,7 +112,7 @@ public class SongPlayer extends Pane {
}
}
- public SongPlayer(main.Level lvl, Difficulty d, Pane p, ScoreController cntrl) {
+ public SongPlayer(Level lvl, Difficulty d, Pane p, ScoreController cntrl) {
Driver.soundController.endSong();
song = lvl.song;
@@ -146,7 +147,7 @@ public class SongPlayer extends Pane {
genButton(jButton);
genButton(kButton);
- gui.Driver.primaryStage.getScene().setOnKeyPressed(e -> {
+ Driver.primaryStage.getScene().setOnKeyPressed(e -> {
/**
* The keyboard detection for the game: when a key is pressed it
* calls the checkNote() method for the corresponding lane
@@ -199,8 +200,6 @@ public class SongPlayer extends Pane {
*
* @param sends the queue to check
* @param lane the lane to send the note to
- * @param pos the x pos of the note to be sent
- * @param c the color of the sent note
*/
public void sendNote(Queue<NoteInfo> sends, ArrayList<Block> lane, Target button) {
if (sends.peek() != null && timer.time() > sends.peek().getTime()-(1000*(bpm/60000.0))) {
@@ -263,7 +262,7 @@ public class SongPlayer extends Pane {
sendNote(jSends, jLane, jButton);
sendNote(kSends, kLane, kButton);
if (timer.time() > songLength) {
- gui.Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
+ Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
cancel();
}
if (!songIsPlaying && timer.time() > 0.0) {
@@ -289,7 +288,7 @@ public class SongPlayer extends Pane {
missMute = true;
Driver.soundController.endSong();
Driver.soundController.playMenuSong();
- gui.Driver.setMenuBackground();
+ Driver.setMenuBackground();
gameLoop.stop();
}
diff --git a/src/gameplay/Target.java b/src/main/java/net/sowgro/npehero/gameplay/Target.java
index 6bfac18..3dc8564 100644..100755
--- a/src/gameplay/Target.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Target.java
@@ -1,6 +1,6 @@
//glowing block of color c (jfx node)
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
diff --git a/src/gameplay/Timer.java b/src/main/java/net/sowgro/npehero/gameplay/Timer.java
index 96a6c30..eada237 100644..100755
--- a/src/gameplay/Timer.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Timer.java
@@ -2,7 +2,7 @@
*Description: Contains the method used to determine how long the user has been playing,
* used to determine when to send notes
*/
-package gameplay;
+package net.sowgro.npehero.gameplay;
public class Timer
diff --git a/src/gui/GameOver.java b/src/main/java/net/sowgro/npehero/gui/GameOver.java
index 8571d20..68ce3ea 100644..100755
--- a/src/gui/GameOver.java
+++ b/src/main/java/net/sowgro/npehero/gui/GameOver.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
@@ -11,8 +11,9 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class GameOver extends Pane
{
diff --git a/src/gui/Leaderboard.java b/src/main/java/net/sowgro/npehero/gui/Leaderboard.java
index 39df409..a8e54d1 100644..100755
--- a/src/gui/Leaderboard.java
+++ b/src/main/java/net/sowgro/npehero/gui/Leaderboard.java
@@ -1,17 +1,18 @@
-package gui;
+package net.sowgro.npehero.gui;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn.SortType;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
-import main.Difficulty;
-import main.LeaderboardEntry;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.LeaderboardEntry;
+import net.sowgro.npehero.main.Level;
public class Leaderboard extends Pane
{
@@ -33,9 +34,9 @@ public class Leaderboard extends Pane
scores.getColumns().add(scoreCol);
scores.getColumns().add(dateCol);
- nameCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("name"));
- scoreCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("score"));
- dateCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("date"));
+ nameCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getName()));
+ scoreCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getScore() + ""));
+ dateCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getDate()));
scores.setItems(diff.getLeaderboard());
diff --git a/src/gui/LevelDetails.java b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java
index af55b9c..25d96c8 100644..100755
--- a/src/gui/LevelDetails.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
@@ -14,8 +14,9 @@ import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.scene.text.TextFlow;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class LevelDetails extends VBox
{
diff --git a/src/gui/LevelSelector.java b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java
index 6fd6aca..6d3442e 100644..100755
--- a/src/gui/LevelSelector.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java
@@ -1,17 +1,18 @@
-package gui;
+package net.sowgro.npehero.gui;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
-import main.Level;
-import main.LevelController;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.LevelController;
public class LevelSelector extends Pane
{
@@ -31,8 +32,8 @@ public class LevelSelector extends Pane
levels.getColumns().add(titleCol);
levels.getColumns().add(artistCol);
- titleCol.setCellValueFactory(new PropertyValueFactory<Level, String>("title"));
- artistCol.setCellValueFactory(new PropertyValueFactory<Level, String>("artist"));
+ titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getTitle()));
+ artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getArtist()));
levels.setItems(LevelController.getValidLevelList());
@@ -43,7 +44,8 @@ public class LevelSelector extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> {Driver.setMenu(new MainMenu());
+ exit.setOnAction(e -> {
+ Driver.setMenu(new MainMenu());
Driver.soundController.playSfx("backward");
});
diff --git a/src/gui/LevelSurround.java b/src/main/java/net/sowgro/npehero/gui/LevelSurround.java
index dcf8a10..08baf9e 100644..100755
--- a/src/gui/LevelSurround.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelSurround.java
@@ -1,6 +1,7 @@
-package gui;
+package net.sowgro.npehero.gui;
-import gameplay.SongPlayer;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gameplay.SongPlayer;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
@@ -10,9 +11,9 @@ import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
-import main.Difficulty;
-import main.Level;
-import main.ScoreController;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.ScoreController;
public class LevelSurround extends Pane
{
@@ -127,22 +128,22 @@ public class LevelSurround extends Pane
Button addScore = new Button();
addScore.setText(level.getTitle() + " addscore");
addScore.setOnAction(e -> sc.setScore(sc.getScore()+1));
- Driver.debug.addButton(addScore);
+// Driver.debug.addButton(addScore);
Button addCombo = new Button();
addCombo.setText(level.getTitle() + " addcombo");
addCombo.setOnAction(e -> sc.setCombo(sc.getCombo()+1));
- Driver.debug.addButton(addCombo);
+// Driver.debug.addButton(addCombo);
Button printD = new Button();
printD.setText(level.getTitle() + " print debug");
printD.setOnAction(e -> sc.print());
- Driver.debug.addButton(printD);
+// Driver.debug.addButton(printD);
Button testfinish = new Button();
testfinish.setText(level.getTitle() + "launch game end");
testfinish.setOnAction(e -> Driver.setMenu(new GameOver(level, difficulty, prev, sc.getScore())));
- Driver.debug.addButton(testfinish);
+// Driver.debug.addButton(testfinish);
game.start();
}
diff --git a/src/gui/MainMenu.java b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
index 84a7508..bb1970f 100644..100755
--- a/src/gui/MainMenu.java
+++ b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
@@ -8,6 +8,7 @@ import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
+import net.sowgro.npehero.Driver;
public class MainMenu extends Pane
@@ -31,7 +32,8 @@ public class MainMenu extends Pane
Button play = new Button();
play.setText("Play");
- play.setOnAction(e -> {Driver.setMenu(new LevelSelector());
+ play.setOnAction(e -> {
+ Driver.setMenu(new LevelSelector());
Driver.soundController.playSfx("forward");
});
diff --git a/src/gui/Settings.java b/src/main/java/net/sowgro/npehero/gui/Settings.java
index 663353a..882eb86 100644..100755
--- a/src/gui/Settings.java
+++ b/src/main/java/net/sowgro/npehero/gui/Settings.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
@@ -10,6 +10,8 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.devmenu.LevelList;
public class Settings extends Pane
{
@@ -75,14 +77,14 @@ public class Settings extends Pane
Button levelEdit = new Button("Level Utility");
levelEdit.setOnAction(e -> {
Driver.soundController.playSfx("forward");
- new devmenu.LevelList();
+ new LevelList();
});
Button devMenu = new Button();
devMenu.setText("Debug Menu");
devMenu.setOnAction(e -> {
Driver.soundController.playSfx("forward");
- Driver.debug.show();
+// Driver.debug.show();
});
VBox devBox = new VBox();
diff --git a/src/main/Difficulty.java b/src/main/java/net/sowgro/npehero/main/Difficulty.java
index d8587f1..6bd565a 100644..100755
--- a/src/main/Difficulty.java
+++ b/src/main/java/net/sowgro/npehero/main/Difficulty.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/LeaderboardEntry.java b/src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java
index 9a298b6..18e657c 100644..100755
--- a/src/main/LeaderboardEntry.java
+++ b/src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
public class LeaderboardEntry
{
diff --git a/src/main/Level.java b/src/main/java/net/sowgro/npehero/main/Level.java
index 313b1fa..ef264ff 100644..100755
--- a/src/main/Level.java
+++ b/src/main/java/net/sowgro/npehero/main/Level.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.util.Collections;
diff --git a/src/main/LevelController.java b/src/main/java/net/sowgro/npehero/main/LevelController.java
index 07ea3f8..68d7450 100644..100755
--- a/src/main/LevelController.java
+++ b/src/main/java/net/sowgro/npehero/main/LevelController.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/ScoreController.java b/src/main/java/net/sowgro/npehero/main/ScoreController.java
index 066a0d1..ba43171 100644..100755
--- a/src/main/ScoreController.java
+++ b/src/main/java/net/sowgro/npehero/main/ScoreController.java
@@ -1,6 +1,6 @@
-package main;
+package net.sowgro.npehero.main;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
diff --git a/src/main/SettingsController.java b/src/main/java/net/sowgro/npehero/main/SettingsController.java
index 3304dd4..d5f3e3b 100644..100755
--- a/src/main/SettingsController.java
+++ b/src/main/java/net/sowgro/npehero/main/SettingsController.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.FileWriter;
import java.io.File;
diff --git a/src/main/SoundController.java b/src/main/java/net/sowgro/npehero/main/SoundController.java
index 0d7527e..da80ab4 100644..100755
--- a/src/main/SoundController.java
+++ b/src/main/java/net/sowgro/npehero/main/SoundController.java
@@ -1,10 +1,12 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
+import java.net.URISyntaxException;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.util.Duration;
@@ -13,19 +15,27 @@ public class SoundController
{
public MediaPlayer songMediaPlayer;
public MediaPlayer sfxMediaPlayer;
- private HashMap<String,MediaPlayer> effects = new HashMap<>();
- private File mainMenuSong = Paths.get("resources/fairyfountain.wav").toFile();
-
+ private final HashMap<String,MediaPlayer> effects = new HashMap<>();
+ private final File mainMenuSong;
+
+ {
+ try {
+ mainMenuSong = new File(Driver.getResource("fairyfountain.wav").toURI());
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
/**
* creates a new sound controller and starts playing the main menu music
*/
public SoundController()
{
- effects.put("hit", new MediaPlayer(new Media(Paths.get("resources/hit.wav").toUri().toString())));
- effects.put("miss", new MediaPlayer(new Media(Paths.get("resources/miss.wav").toUri().toString())));
- effects.put("forward", new MediaPlayer(new Media(Paths.get("resources/forward.wav").toUri().toString())));
- effects.put("backward", new MediaPlayer(new Media(Paths.get("resources/backward.wav").toUri().toString())));
+ effects.put("hit", new MediaPlayer(new Media(Driver.getResource("hit.wav").toString())));
+ effects.put("miss", new MediaPlayer(new Media(Driver.getResource("miss.wav").toString())));
+ effects.put("forward", new MediaPlayer(new Media(Driver.getResource("forward.wav").toString())));
+ effects.put("backward", new MediaPlayer(new Media(Driver.getResource("backward.wav").toString())));
effects.forEach((key,value) -> {
value.volumeProperty().bind(Driver.settingsController.effectsVol);
});
@@ -53,6 +63,10 @@ public class SoundController
*/
public void playMenuSong()
{
+ if (!mainMenuSong.exists()) {
+ System.out.println("NOT EXIST " + mainMenuSong.getAbsolutePath());
+ return;
+ }
playSong(mainMenuSong);
songMediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
songMediaPlayer.play();
@@ -71,7 +85,7 @@ public class SoundController
/**
* plays a sound effect
- * for the volume slider to take affect each mediaplayer needs to be pre loaded.
+ * for the volume slider to take effect each mediaplayer needs to be preloaded.
* this rewinds and played the proper mediaplayer for the sound
* @param preset: a string of the name of the sound. possible sounds assigned in the constructor
*/
diff --git a/resources/backward.wav b/src/main/resources/net/sowgro/npehero/backward.wav
index e88f58d..e88f58d 100644..100755
--- a/resources/backward.wav
+++ b/src/main/resources/net/sowgro/npehero/backward.wav
Binary files differ
diff --git a/resources/fairyfountain.wav b/src/main/resources/net/sowgro/npehero/fairyfountain.wav
index b6fea56..b6fea56 100644..100755
--- a/resources/fairyfountain.wav
+++ b/src/main/resources/net/sowgro/npehero/fairyfountain.wav
Binary files differ
diff --git a/resources/forward.wav b/src/main/resources/net/sowgro/npehero/forward.wav
index c7b1a77..c7b1a77 100644..100755
--- a/resources/forward.wav
+++ b/src/main/resources/net/sowgro/npehero/forward.wav
Binary files differ
diff --git a/resources/hit.wav b/src/main/resources/net/sowgro/npehero/hit.wav
index b9463a2..b9463a2 100644..100755
--- a/resources/hit.wav
+++ b/src/main/resources/net/sowgro/npehero/hit.wav
Binary files differ
diff --git a/resources/miss.wav b/src/main/resources/net/sowgro/npehero/miss.wav
index d91a987..d91a987 100644..100755
--- a/resources/miss.wav
+++ b/src/main/resources/net/sowgro/npehero/miss.wav
Binary files differ
diff --git a/resources/mountains.png b/src/main/resources/net/sowgro/npehero/mountains.png
index 39d560e..39d560e 100644..100755
--- a/resources/mountains.png
+++ b/src/main/resources/net/sowgro/npehero/mountains.png
Binary files differ
diff --git a/src/gui/style.css b/src/main/resources/net/sowgro/npehero/style.css
index dd1de55..dd1de55 100644..100755
--- a/src/gui/style.css
+++ b/src/main/resources/net/sowgro/npehero/style.css
diff --git a/start_linux.sh b/start_linux.sh
deleted file mode 100755
index 0cf6cdf..0000000
--- a/start_linux.sh
+++ /dev/null
@@ -1 +0,0 @@
-java --module-path lib/linux --add-modules javafx.controls,javafx.fxml,javafx.media -Dprism.forceGPU=true -jar npehero_linux.jar \ No newline at end of file
diff --git a/start_windows.bat b/start_windows.bat
deleted file mode 100644
index f28f776..0000000
--- a/start_windows.bat
+++ /dev/null
@@ -1 +0,0 @@
-java --module-path lib/windows/lib --add-modules javafx.controls,javafx.fxml,javafx.media -jar npehero_windows.jar \ No newline at end of file