Releases: xpenatan/gdx-teavm
v1.3.1
v1.3.0
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
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
orteaBuildConfiguration.targetType = TeaTargetType.WEBASSEMBLY
. This determines how the index file is configured to load JavaScript or WebAssembly. Note thatTeaVMTool#setTargetType
is overridden byTeaBuilder.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
This version adds support for WebGPU, along with other minor improvements and fixes.
Full Changelog: 1.2.0...1.2.2
v1.2.0
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
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
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");
};
Full Changelog: 1.0.4...1.0.5
v1.0.4
v1.0.3
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
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