From c4577eb1d3d32ad18e1c13875987323b4b52e636 Mon Sep 17 00:00:00 2001 From: LAX1DUDE Date: Fri, 5 Nov 2021 19:51:53 -0700 Subject: [PATCH 1/2] less ego in the readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b14d495..1e509a3 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ eaglercraft is a port of minecraft 1.5.2 that runs in a web browser. it uses the to compile, simply clone the repository and import the root directory as a gradle project into eclipse. run the gradle 'teavm' compile target to generate the classes.js file from the source tree. to modify the game's assets repository (javascript/assets.epk) make your changes in lwjgl-runtime/resources/ and use the eclipse project located in epkcompiler/ to regenerate the assets.epk file and copy it to the javascript directory. to run the minecraft source in desktop java mode for quick debugging using native opengl for rendering instead of webgl create a new empty eclipse project. link the src/main/java and src/lwjgl/java as source folders and add the jars in lwjgl-rundir as dependancies. Create a run configuration and add a jvm argument pointing to the lwjgl natives folder (lwjgl-rundir/natives) like this, -Djava.library.path=natives, and make sure the working directory for the run configuration is the lwjgl-rundir folder. -this project is just a proof of concept to show what can be accomplished by a skilled developer using TeaVM. it is not very fast or stable, and the only real useful portion is the emulator code which creates a makeshift fixed function opengl 1.3 context using webgl (based on opengl 3.3) operational in the browser. maybe it can be used to port other games in the future +this project is just a proof of concept to show what can be accomplished when using TeaVM to cross compile an existing java program to javascript. it is not very fast or stable, and the only real useful portion is the emulator code which creates a makeshift fixed function opengl 1.3 context using webgl (based on opengl 3.3) operational in the browser. maybe it can be used to port other games in the future From c88fd11db47a7dc92cf4ba206fe85227c1b6160e Mon Sep 17 00:00:00 2001 From: LAX1DUDE Date: Fri, 5 Nov 2021 20:21:16 -0700 Subject: [PATCH 2/2] added null pointer check to EaglerAdapterImpl2 --- .../net/lax1dude/eaglercraft/adapter/EaglerAdapterImpl2.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/teavm/java/net/lax1dude/eaglercraft/adapter/EaglerAdapterImpl2.java b/src/teavm/java/net/lax1dude/eaglercraft/adapter/EaglerAdapterImpl2.java index b51123f..9d329a2 100644 --- a/src/teavm/java/net/lax1dude/eaglercraft/adapter/EaglerAdapterImpl2.java +++ b/src/teavm/java/net/lax1dude/eaglercraft/adapter/EaglerAdapterImpl2.java @@ -1114,6 +1114,7 @@ public class EaglerAdapterImpl2 { AudioBufferX ret = loadedSoundFiles.get(fileName); if(ret == null) { byte[] file = loadResourceBytes(fileName); + if(file == null) return null; Uint8Array buf = Uint8Array.create(file.length); buf.set(file); ret = new AudioBufferX(decodeAudioAsync(buf.getBuffer()));