Joseph Cloutier 31af41e69c Unify asset copying code, and standardize asset embedding.
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.
2025-08-31 22:07:10 -04:00
2019-07-15 13:07:04 -07:00
2025-07-09 10:24:20 -07:00
2017-09-29 16:40:50 -07:00
2014-09-30 17:41:57 -07:00
2022-05-19 20:46:08 +02:00
2023-05-30 09:03:55 -07:00
2024-12-19 10:32:15 -08:00
2019-03-26 12:16:10 -07:00
2024-12-19 10:32:15 -08:00
2014-10-18 13:05:29 -07:00
2019-02-14 08:41:20 -08:00
2025-01-02 09:29:50 -08:00
2014-08-13 09:05:01 -07:00
2025-04-02 10:55:52 -04:00
2025-01-02 09:32:18 -08:00
2017-12-28 21:07:02 -08:00
2025-02-11 10:01:53 -08:00
2024-10-22 09:12:34 -07:00
2024-11-14 09:11:11 -05:00
2024-11-14 09:11:11 -05:00

MIT License Haxelib Version Build Status Community Discord Server

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

  1. Clone the Lime repository, as well as the submodules:

     haxelib git lime https://github.com/openfl/lime
    
  2. Install required dependencies:

     haxelib install format
     haxelib install hxp
    
  3. Copy the ndll directory from the latest Haxelib release, or see project/README.md for details about building native binaries.

  4. After any changes to the tools or lime/tools directories, rebuild from source:

     lime rebuild tools
    
  5. 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?

Description
A foundational Haxe framework for cross-platform development
Readme 357 MiB
Languages
JavaScript 45.1%
Haxe 25.9%
C 14.6%
C++ 7.5%
CSS 4.2%
Other 2.4%