Small fixes to get Mac build working correctly

This commit is contained in:
Brendan Robert 2024-01-17 15:50:14 -06:00
parent 149c2c8693
commit e435aa3a7a
5 changed files with 180 additions and 89 deletions

View File

@ -46,9 +46,16 @@
<plugin> <plugin>
<groupId>com.gluonhq</groupId> <groupId>com.gluonhq</groupId>
<artifactId>gluonfx-maven-plugin</artifactId> <artifactId>gluonfx-maven-plugin</artifactId>
<version>1.0.21</version> <version>1.0.22</version>
<configuration> <configuration>
<mainClass>jace.LawlessLegends</mainClass> <mainClass>jace.LawlessLegends</mainClass>
<resourcesList>
<resource>.*</resource>
</resourcesList>
<releaseConfiguration>
<vendor>The 8-Bit Bunch</vendor>
<skipSigning>true</skipSigning>
</releaseConfiguration>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>

View File

@ -1,7 +1,7 @@
package jace.lawless; package jace.lawless;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URLDecoder;
import java.nio.IntBuffer; import java.nio.IntBuffer;
import java.nio.ShortBuffer; import java.nio.ShortBuffer;
@ -18,10 +18,17 @@ public class Media {
long sampleRate = 0; long sampleRate = 0;
boolean isStereo = true; boolean isStereo = true;
ShortBuffer sampleBuffer; ShortBuffer sampleBuffer;
File tempFile;
public Media(String resourcePath) throws IOException { public Media(String resourcePath) throws IOException {
// Copy resource to temp file because STBVorbis can't read from jar
tempFile = File.createTempFile("temp", ".ogg");
tempFile.deleteOnExit();
getClass().getResource(resourcePath).openStream().transferTo(new java.io.FileOutputStream(tempFile));
String canonicalPath = tempFile.getAbsolutePath();
// Get caononical file path from relative resource path // Get caononical file path from relative resource path
String canonicalPath = URLDecoder.decode(getClass().getResource(resourcePath).getPath(), "UTF-8"); // String canonicalPath = URLDecoder.decode(getClass().getResource(resourcePath).getPath(), "UTF-8");
System.out.println("Loading media: " + canonicalPath); System.out.println("Loading media: " + canonicalPath);
try (MemoryStack stack = MemoryStack.stackPush()) { try (MemoryStack stack = MemoryStack.stackPush()) {
@ -97,6 +104,8 @@ public class Media {
public void close() { public void close() {
MemoryUtil.memFree(sampleBuffer); MemoryUtil.memFree(sampleBuffer);
if (tempFile != null && tempFile.exists())
tempFile.delete();
} }
public void seekToTime(Duration millis) { public void seekToTime(Duration millis) {

View File

@ -381,66 +381,11 @@
{"name":"skip","parameterTypes":["long"] } {"name":"skip","parameterTypes":["long"] }
] ]
}, },
{
"name":"com.sun.media.sound.DirectAudioDevice",
"methods":[
{
"name":"addFormat",
"parameterTypes":[
"java.util.Vector",
"int",
"int",
"int",
"float",
"int",
"boolean",
"boolean"
]
}
]
},
{
"name":"com.sun.media.sound.DirectAudioDeviceProvider$DirectAudioDeviceInfo",
"methods":[
{
"name":"<init>",
"parameterTypes":[
"int",
"int",
"int",
"java.lang.String",
"java.lang.String",
"java.lang.String",
"java.lang.String"
]
}
]
},
{
"name":"com.sun.media.sound.PortMixerProvider$PortMixerInfo",
"methods":[
{
"name":"<init>",
"parameterTypes":[
"int",
"java.lang.String",
"java.lang.String",
"java.lang.String",
"java.lang.String"
]
}
]
},
{ {
"name":"java.lang.Boolean", "name":"java.lang.Boolean",
"methods":[ "methods":[
{ {"name":"booleanValue","parameterTypes":[] },
"name":"getBoolean", {"name":"getBoolean","parameterTypes":["java.lang.String"] }
"parameterTypes":[
"java.lang.String"
]
},
{"name":"booleanValue","parameterTypes":[] }
] ]
}, },
{ {

View File

@ -410,6 +410,7 @@
"queryAllDeclaredMethods":true, "queryAllDeclaredMethods":true,
"methods":[ "methods":[
{"name":"<init>","parameterTypes":[] }, {"name":"<init>","parameterTypes":[] },
{"name":"executeClicked","parameterTypes":["javafx.event.ActionEvent"] },
{"name":"initialize","parameterTypes":[] }, {"name":"initialize","parameterTypes":[] },
{"name":"newApplesoftBasicClicked","parameterTypes":["javafx.event.ActionEvent"] }, {"name":"newApplesoftBasicClicked","parameterTypes":["javafx.event.ActionEvent"] },
{"name":"newApplesoftBasicFromMemoryClicked","parameterTypes":["javafx.event.ActionEvent"] }, {"name":"newApplesoftBasicFromMemoryClicked","parameterTypes":["javafx.event.ActionEvent"] },
@ -509,14 +510,54 @@
"name":"java.net.URLConnection", "name":"java.net.URLConnection",
"methods":[{"name":"getContentLengthLong","parameterTypes":[] }] "methods":[{"name":"getContentLengthLong","parameterTypes":[] }]
}, },
{
"name":"java.nio.Buffer",
"allDeclaredFields":true
},
{ {
"name":"java.nio.ByteBuffer", "name":"java.nio.ByteBuffer",
"allDeclaredFields":true,
"methods":[{"name":"order","parameterTypes":["java.nio.ByteOrder"] }] "methods":[{"name":"order","parameterTypes":["java.nio.ByteOrder"] }]
}, },
{ {
"name":"java.nio.ByteOrder", "name":"java.nio.ByteOrder",
"methods":[{"name":"nativeOrder","parameterTypes":[] }] "methods":[{"name":"nativeOrder","parameterTypes":[] }]
}, },
{
"name":"java.nio.DirectByteBuffer",
"allDeclaredFields":true,
"unsafeAllocated":true
},
{
"name":"java.nio.DirectCharBufferU",
"allDeclaredFields":true
},
{
"name":"java.nio.DirectDoubleBufferU",
"allDeclaredFields":true
},
{
"name":"java.nio.DirectFloatBufferU",
"allDeclaredFields":true
},
{
"name":"java.nio.DirectIntBufferU",
"allDeclaredFields":true,
"unsafeAllocated":true
},
{
"name":"java.nio.DirectLongBufferU",
"allDeclaredFields":true
},
{
"name":"java.nio.DirectShortBufferU",
"allDeclaredFields":true,
"unsafeAllocated":true
},
{
"name":"java.nio.MappedByteBuffer",
"allDeclaredFields":true
},
{ {
"name":"java.security.AlgorithmParametersSpi" "name":"java.security.AlgorithmParametersSpi"
}, },
@ -1006,9 +1047,23 @@
{ {
"name":"org.ibex.nestedvm.util.Seekable" "name":"org.ibex.nestedvm.util.Seekable"
}, },
{
"name":"org.lwjgl.system.CustomBuffer",
"fields":[
{"name":"capacity"},
{"name":"container"},
{"name":"limit"},
{"name":"mark"},
{"name":"position"}
]
},
{
"name":"org.lwjgl.system.Pointer$Default",
"fields":[{"name":"address"}]
},
{ {
"name":"sun.misc.Unsafe", "name":"sun.misc.Unsafe",
"fields":[{"name":"theUnsafe"}] "allDeclaredFields":true
}, },
{ {
"name":"sun.security.pkcs12.PKCS12KeyStore", "name":"sun.security.pkcs12.PKCS12KeyStore",

View File

@ -1,30 +1,105 @@
{ {
"resources":{ "resources":{
"includes":[ "includes":[
{"pattern": ".*\\.bin$"}, {
{"pattern": ".*\\.rom$"}, "pattern":".*\\.bin$"
{"pattern": ".*\\.mp3$"}, },
{"pattern": ".*\\.png$"}, {
{"pattern": ".*\\.jpg$"}, "pattern":".*\\.bmp$"
{"pattern": ".*\\.jpeg$"}, },
{"pattern": ".*\\.gif$"}, {
{"pattern": ".*\\.bmp$"}, "pattern":".*\\.css$"
{"pattern": ".*\\.ttf$"}, },
{"pattern": ".*\\.raw$"}, {
{"pattern": ".*\\.xml$"}, "pattern":".*\\.dat$"
{"pattern": ".*\\.fxml$"}, },
{"pattern": ".*\\.css$"}, {
{"pattern": ".*\\.gls$"}, "pattern":".*\\.frag$"
{"pattern": ".*\\.json$"}, },
{"pattern": ".*\\.dat$"}, {
{"pattern": ".*\\.license$"}, "pattern":".*\\.fxml$"
{"pattern": ".*\\.frag$"}, },
{"pattern": ".*\\.vert$"}, {
{"pattern": ".*\\.obj$"}, "pattern":".*\\.gif$"
{"pattern": ".*\\.mtl$"}, },
{"pattern": ".*\\.js$"}, {
{"pattern": ".*\\.html$"}, "pattern":".*\\.gls$"
{"pattern": ".*\\.txt$"} },
] {
} "pattern":".*\\.html$"
},
{
"pattern":".*\\.jpeg$"
},
{
"pattern":".*\\.jpg$"
},
{
"pattern":".*\\.js$"
},
{
"pattern":".*\\.json$"
},
{
"pattern":".*\\.license$"
},
{
"pattern":".*\\.ogg$"
},
{
"pattern":".*\\.mtl$"
},
{
"pattern":".*\\.obj$"
},
{
"pattern":".*\\.png$"
},
{
"pattern":".*\\.raw$"
},
{
"pattern":".*\\.rom$"
},
{
"pattern":".*\\.ttf$"
},
{
"pattern":".*\\.txt$"
},
{
"pattern":".*\\.vert$"
},
{
"pattern":".*\\.xml$"
},
{
"pattern":"\\QMETA-INF/macos/x64/org/lwjgl/liblwjgl.dylib.sha1\\E"
},
{
"pattern":"\\QMETA-INF/macos/x64/org/lwjgl/openal/libopenal.dylib.sha1\\E"
},
{
"pattern":"\\QMETA-INF/macos/x64/org/lwjgl/stb/liblwjgl_stb.dylib.sha1\\E"
},
{
"pattern":"\\Qmacos/x64/org/lwjgl/liblwjgl.dylib\\E"
},
{
"pattern":"\\Qmacos/x64/org/lwjgl/openal/libopenal.dylib\\E"
},
{
"pattern":"\\Qmacos/x64/org/lwjgl/stb/liblwjgl_stb.dylib\\E"
}
]},
"bundles":[
{
"name":"com.sun.javafx.tk.quantum.QuantumMessagesBundle",
"locales":[""]
},
{
"name":"com/sun/javafx/scene/control/skin/resources/controls",
"locales":[""]
}
]
} }