Releases: melonjs/melonJS
Releases · melonjs/melonJS
v15.1.4
v15.1.3
v15.1.2
v15.1.1
v15.1.0
Added
- Container: new
getRootAncestor()
method that returns the root container's parent (aka World Container) - Renderer: new
toBlob()
,toDataURL()
andtoImageBitmap()
methods added toCanvasTexture
- Renderer: new
toBlob()
,toDataURL()
andtoImageBitmap()
methods added to all Renderers - TMX: add a "patcheable" entry point to allow for a tiled inflate (zlib/gzip/zstd) plugin
- UI: new draggable feature for UIBaseElement (can be toggled on/off using
isDraggable
)
Changed
- Application: the
sortOn
property is now a proper getter/setter for the App World instancesortOn
property - Plugin: the 2nd parameter of the
register
method is now optional and will use the given plugin class name by default
Fixed
- Renderer: add missing export for the
CanvasTexture
class - UI: fix internal holdTimeout type to integer and properly reset value to -1 when a timer is cleared
- UI: UITextButton now properly use the given alpha value of the given background and hover color
- UI: cleaned-up the UITextButton implementation, and added proper documentation for UITextButton specific properties
- WebGL: fix a Type Error exception with the latest version of Safari when using OffscreenCanvas element as a texture source
v15.0.0
Added
- Renderer: enable batch drawing for rectangle and polygon based primitive shapes
- Renderer: new base
Compositor
class that can be extended to create custom WebGL compositors - Renderable: custom shader can now be set per renderable through a new
shader
property (experimental feature)
Changed
- Core: remove remaining polyfills related to pre-ECMAScript 2015 features (as melonJS 2 implementation base is now 100% ES6)
- Renderer: refactoring of the
WebGLCompositor
into aQuadCompositor
andPrimitiveCompitor
for Quad and Primitive composition - Renderer: the vertex shader now takes a color attributes (as opposed to using an uniform in previous version)
- Renderer: attributes and default shader "definitions" for WebGL Compositor(s) are now directly passed through the constructor
- Text: Text object now use offscreen canvas by default to render text (this has been in beta for almost 2 years)
- Text: setting
lineWidth
to a value greater than 0 will now automatically stroke the text - Text:
drawStroke()
is now deprecated in favour of thelineWidth
property
Fixed
- Geometry: fix
arcTo()
drawing a "looping" line between the start and end angle - Input: fix
device.touch
wrongly returningtrue
on non-touch devices - Renderer: fix binding of active shader when switching compositor
- Renderer: fix a TypeError exception on Safari Technology Preview
- Text: restore the text Stroke feature (was broken since a couple of releases)
v14.5.0
Added
- Bounds: add a
centerOn
method similarly to other base geometry objects - ImageLayer: enable blend mode for
ImageLayer
renderable objects - Sprite: sprites now "flip" (see flip[X/Y] methods) properly around their default anchor point
Changed
- Loader: partial refactoring of the preloader to be more es6 compliant and fix circular dependencies with other modules/classes
- Pool: simplified and optimized the pool
pull
method - Sprite: optimized flip[X/Y] operations by using the sprite own transform matrix instead of manipulating the renderer at draw time
- Renderer: optimized access to cached textures, especially when using multiple atlases
- Renderer: Path2D now uses
Point
internally (instead ofVector2d
) which is a much more simple object - Renderer: optimize Path2D triangulation
Fixed
- Core: fix "global" exposed properties being read-only after refactoring to ES6
- Geometry: fix corresponing bounds not being properly updated when setting
center[X/Y]
or callingcenterOn()
. - Input: fix a regression with pointer detection on transformed Renderable object
- Renderable: fix a regression with Bounds position being off after applying a transformation
- Sprite: fix
setRegion()
being called at every update for non-animated sprites - Tiled: fix format deprecation warning if map was not created with Tiled and format version is not available
v14.4.0
Added
- Tiled: add support for the .tmj and .tsj extension (JSON)
- Tiled: add support for Infinite map (Tiled chunks based map format)
Changed
- Tiled: warn about map version 1.4 and below being deprecated (terrain was replaced by wangset tiles since version 1.5)
Fixed
- Physic: fix a regression with the
collision.rayCast()
function (thanks @cpravetz) - Tiled: fix a
cannot recycle
exception when rendering hexagonal maps
v14.3.0
Added
- Core: its now possible to specify a custom renderer (that extends the default Renderer class)
Changed
- General: further code revamping to make melonJS more modular and allow instantiation of different app/games
- Physic: new
Detector
class instantiated by each physic world instance to detect and solve collisions
Fixed
- Core: fix missing TS definitions when publishing on NPM (following changes in #1162)
- Doc: fix
fps
type in the World class
v14.2.0
Added
- Core: add a tsconfig file for types generation and properly enable type suggestions (thanks @lartkma)
Changed
- Utils: move
getPixels()
asgetImageData()
under the CanvasTexture object
Fixed
- Core: fix an uncaught exception (again) when using melonJS with parcel (thanks @Infamoustrey)
- Core: fix further global reference to document (i.e. refer to globalThis instead of implicitely using window)
- Core: fix more circular dependencies