Two key Haxe libraries same new releases today, OpenFL 4.9.0 and Lime 4.0. Lime is a low level cross platform multimedia library, while OpenFL is a reimplementation of several Flash APIs used for game development. OpenFL is layered over top of Lime, while several other Haxe libraries are in turn dependent on OpenFL. The OpenFL team also released a blog post describing how to make use of the improved OpenGL bindings in Lime.
Details from the release notes.
OpenFL 4.9.0 Changelog
- Updated for Lime 4
- Added initial support for
openfl process
for SWF-based assets- Added support for loading generated SWFLite bundles in Loader
- Added support for multiple HTML5 embeds on the same page
- Added support for loaderInfo.parameters through the HTML5 embed
- Added support for TextField restrict and maxChars
- Added support for Float-based keys in Dictionary
- Added a hack to add stroke support for TextField
- Improved support for Lime asset manifests in SWF library
- Improved template behavior to work if Lime is included before OpenFL
- Improved the behavior of TextField setTextFormat/replaceText
- Improved support for String-based messages in HTML5 Socket
- Improved support for non-smoothed bitmapData in SWF libraries
- Improved “missing font” warning to only occur once per font name
- Improved “asset not found” warnings to throw errors
- Improved animated mask support in MovieClip
- Fixed support for embedded SWF libraries on Flash
- Fixed the array count calculation in AGAL to GLSL conversion
- Fixed support for CubeTexture in Stage3D renderToTexture
- Fixed the reset position after using byteArray.uncompress
- Fixed a type-cast error when retrieving a missing MovieClip asset
- Fixed a possible bug when rendering an object with no parent
- Fixed wrongful error on Stage3D viewport on OS X
- Fixed cases where stage3D x/y is set before a backbuffer is created
- Fixed support for GL context loss
Lime 4.0.0 Changelog
- Added support for WebGL 2 APIs on HTML5
- Recreated GL bindings in preparation for GLES3 support
- Added support for running different Lime tools to match project version
- Added WebGL, WebGL 2, GLES 2 and GLES 3 abstracts
- Added initial support for WebGL/GLES2 extension constants
- Added GL context, type and version properties
- Added window.displayMode for full-screen display mode switching
- Added lime.utils.DataPointer for managing native pointers
- Added lime.utils.BytePointer for Bytes + offset without a new typed array
- Added lime.utils.ObjectPool as a convenience API for object pooling
- Added support for
<assets path="" library="" />
for library packing- Added support for loading *.bundle directories as asset libraries
- Added support for
${meta.title}
and other project data in project.xml- Added support for Cairo textPath
- Added support for multiple Lime embeds, rewrote HTML5 embed code
- Added asset type to verbose Preloader messages
- Added
-Dwebgl1
to use a WebGL 1 context instead of WebGL 2 on HTML5- Removed deprecated behaviors from Lime 3
- Updated Gamepad mappings to support additional models
- Updated HTML5 window to dispatch resize event if parent element is resized
- Improved support for deferred loading of asset libraries
- Improved Asset error events, updated to throw errors when assets not found
- Improved handling of GL context loss on WebGL
- Improved behavior of asset manifests included as assets of another library
- Improved behavior of path groups for audioBuffer assets
- Improved error message if ANDROID_SDK or ANDROID_NDK_ROOT is not defined
- Fixed caching for HTML5 cache groups
- Fixed native HTTPRequest if file is not found or uses ~/ for home directory
- Fixed copying of files when a directory exists of the same name
- Fixed dispatch of Renderer.onRender when there is no context
- Fixed dispatch of Renderer.onContextLost on native platforms
- Fixed use of image.threshold when source is canvas or HTML5 image
- Fixed missing warning if
<icon path="" />
is null- Fixed
<app path="" />
to be relative to include.xml path- Fixed
<splashScreen path="" />
to be relative to include.xml path- Fixed case where assets could be processed as templates
- Fixed support for ATF textures on Flash target
- Fixed ID value for Joystick/Gamepad guid property
- Fixed double dispatch of preloader complete verbose message
- Fixed path of
-options
parameter when calling HXCPP