Having eight separate implementations made it harder to maintain. While an asset embedding bug got fixed on desktop targets, it got overlooked on others. This lead to assets being included twice on those other targets: once embedded, and once normally. (#1898) Now, that behavior is controlled from one place, and the bug is fixed for eight targets at once. This also standardizes the case of `asset.embed == true && asset.type == TEMPLATE`. Previously, some targets would prioritze `embed` over `type`, embedding the template into the app without even processing it as a template. Now, it will always prioritize `type`, processing templates as templates and never trying to embed them. Three targets are left out since they have more complex asset embedding behavior. I haven't checked if the bug is present on any of those.
Lime
Lime is a flexible, lightweight layer for Haxe cross-platform developers.
Lime supports native, Flash and HTML5 targets with unified support for:
- Windowing
- Input
- Events
- Audio
- Render contexts
- Network access
- Assets
Lime does not include a renderer, but exposes the current context:
- Cairo
- Canvas
- DOM
- Flash
- GL
The GL context is based upon the WebGL standard, implemented for both OpenGL and OpenGL ES as needed.
Lime provides a unified audio API, but also provides access to OpenAL for advanced audio on native targets.
License
Lime is free, open-source software under the MIT license.
Installation
First, install the latest version of Haxe.
Then, install Lime from Haxelib and run Lime's setup command.
haxelib install lime
haxelib run lime setup
Development Builds
When there are changes, Lime is built nightly. Builds are available for download here.
To install a development build, use the "haxelib local" command:
haxelib local lime-haxelib.zip
Building from Source
-
Clone the Lime repository, as well as the submodules:
haxelib git lime https://github.com/openfl/lime -
Install required dependencies:
haxelib install format haxelib install hxp -
Copy the ndll directory from the latest Haxelib release, or see project/README.md for details about building native binaries.
-
After any changes to the tools or lime/tools directories, rebuild from source:
lime rebuild tools -
To switch away from a source build:
haxelib set lime [version number]
Sample
You can build a sample Lime project with the following commands:
lime create HelloWorld
cd HelloWorld
lime test neko
You can also list other projects that are available using "lime create".
Targets
Lime currently supports the following targets:
lime test windows
lime test mac
lime test linux
lime test android
lime test ios
lime test html5
lime test flash
lime test air
lime test neko
lime test hl
Desktop builds are currently designed to be built on the same host OS
Join the Community
Have a question? Want a new place to hang out?