Skip to content

Releases: xpenatan/gdx-teavm

v1.3.1

04 Oct 00:31
Compare
Choose a tag to compare

Small Update:

  • Reintroduce Howler audio functionality. (iOS will not work)
  • Resolve the issue with the scroll wheel not functioning in Firefox.

Full Changelog: 1.3.0...1.3.1

v1.3.0

23 Aug 19:24
Compare
Choose a tag to compare

gdx-teavm v1.3.0 is here!

What's Changed

  • New Preloading Screen Solution: A customizable preloading screen feature has been introduced. You can now create your own preload screen using libGDX. Check out the TeaPreloadApplicationListener class for details. The new libGDX logo and progress bar, for example, were created using Scene2D.
  • Audio Support Update: gdx-teavm no longer supports libGDX audio. To continue using Howler.js for audio, you can incorporate the audio classes from the web-audio module into your project. Refer to the TeaVMTestLauncher class for an example of how the AudioTest is implemented.
preload.mp4

v1.2.4

16 Aug 17:19
Compare
Choose a tag to compare

This version adds support for teavm plugin so you can either use TeaBuilder or use teavm plugin to generate javascript/wasm files. This version also fix freetype background issue.

Breaking changes:

  • TeaBuilder.config(..) now only copies assets to the dist folder and no longer returns a TeaVMTool instance. To continue using TeaBuilder.build(..), you must manually create a TeaVMTool instance.
  • You must now specify the target type by setting teaBuildConfiguration.targetType = TeaTargetType.JAVASCRIPT or teaBuildConfiguration.targetType = TeaTargetType.WEBASSEMBLY. This determines how the index file is configured to load JavaScript or WebAssembly. Note that TeaVMTool#setTargetType is overridden by TeaBuilder.build(..).
  • For TeaVM plugin setup, refer to the TeaVM documentation for correct configuration and execution instructions. You need to run TeaBuilder.config(..) first to prepare the dist folder. For an example, see the example module.

Full Changelog: 1.2.2...1.2.4

v1.2.2

22 Jul 00:46
Compare
Choose a tag to compare

This version adds support for WebGPU, along with other minor improvements and fixes.

Full Changelog: 1.2.0...1.2.2

v1.2.0

04 May 22:02
836cd30
Compare
Choose a tag to compare

WebAssembly Support

This release brings robust WebAssembly support to the TeaVM backend for LibGDX, with significant improvements to buffer handling and overall compatibility. Key updates include a major overhaul of buffer-related code, upgraded dependencies, and enhanced tooling for a smoother development experience.

A huge thanks to @konsoletyper for his invaluable contributions to making this release possible!

What's Changed

  • Updated to TeaVM 0.12.0
  • Add WebAssembly support
  • Enhanced compile error logging
  • Switched to TeaVM's native array/buffer implementation, eliminating wrappers and custom solutions
  • Upgraded to Gradle 8.14
  • Skip annotation deprecation

You can try wasm by changing the target type.
tool.setTargetType(TeaVMTargetType.WEBASSEMBLY_GC);

Future Improvements:
We’re planning enhancements to the Pixmap implementation. Currently, Pixmap relies on Emscripten heap buffers compiled from gdx2d.c, requiring data copying to the Java side. This can lead to synchronization issues when updating via Pixmap.getPixels(). Future releases will address this for a more efficient and reliable solution.

Full Changelog: 1.1.0...1.2.0

v1.1.0

03 Feb 09:58
b323bee
Compare
Choose a tag to compare

This update upgrades libGDX to version 1.13.1, addressing fixes and enhancements for ByteBuffer to resolve the dynamic Emscripten heap issue.

What's Changed

  • Fix music not looping correctly
  • Add disposeUnsafeByteBuffer, newUnsafeByteBuffer and getAllocatedBytesUnsafe
  • Fix play music creating new music instance
  • Clear mouse delta every frame
  • Improve PixmapEmu and Gdx2DPixmapEmu
  • Add PixmapEmu(Gdx2DPixmapEmu) constructor
  • Add customizable ByteBuffer
  • Update to libgdx 1.13.1

Full Changelog: 1.0.5...1.1.0

v1.0.5

22 Dec 16:09
c3edd5f
Compare
Choose a tag to compare

What's Changed

  • Add Config Asset preloadListener
  • Update AssetLoader and AssetDownloader
  • Add AssetInstance to obtain AssetLoader or AssetDownloader
  • Fix drawing to Gdx2DPixmapEmu
  • Update Freetype emulation to fix build errors and script loading solution
  • Update TeaVM to 0.11.0

FreeType needs to load javascript manually at the start of the application. Loading scripts needs to be async.

config.preloadListener = assetLoader -> {
    assetLoader.loadScript("freetype.js");
}; 

Freetype example

Full Changelog: 1.0.4...1.0.5

v1.0.4

25 Oct 22:00
a8c6bad
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.0.3...1.0.4

v1.0.3

27 Jul 23:00
af9f041
Compare
Choose a tag to compare

Small improvemenets

What's Changed

  • Don't download assets if preload assets is true
  • add PowerPreference option
  • update teavm to 0.10.1
  • update lib upload attempt count
  • Small file handle fix
  • Add option to overwrite saved file
  • Improve download logs and progress method

Full Changelog: 1.0.2...1.0.3

v1.0.2

14 Jul 18:48
eb27ade
Compare
Choose a tag to compare

Quick fix to improve performance, load sync data and small changes.

What's Changed

  • Small file storage improvement
  • Use file type for checking if asset is loaded
  • Improve arraybuffer copy performance by @xpenatan in #126
  • Improve texture opengl method
  • Fix sync loading (FreeType)

Full Changelog: 1.0.1...1.0.2