Skip to content

Releases: melonjs/melonJS

v15.1.2

24 Apr 04:22
Compare
Choose a tag to compare
  • Core: fix detection of OffscreenCanvas support by browser (fix a crash with Waterfront, thanks @Fr0st for reporting it)

v15.1.1

10 Apr 03:33
Compare
Choose a tag to compare

Fixed

  • Container: fix a regression when creating a container with physic bodies, before adding it to the main world container, would throw an exception

v15.1.0

07 Apr 00:11
Compare
Choose a tag to compare

Added

  • Container: new getRootAncestor() method that returns the root container's parent (aka World Container)
  • Renderer: new toBlob(), toDataURL() and toImageBitmap() methods added to CanvasTexture
  • Renderer: new toBlob(), toDataURL() and toImageBitmap() 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 instance sortOn 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

18 Mar 03:21
Compare
Choose a tag to compare

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 a QuadCompositor and PrimitiveCompitor 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 the lineWidth property

Fixed

  • Geometry: fix arcTo() drawing a "looping" line between the start and end angle
  • Input: fix device.touch wrongly returning true 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

13 Feb 02:13
Compare
Choose a tag to compare

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 of Vector2d) 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 calling centerOn().
  • 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

10 Jan 00:05
Compare
Choose a tag to compare

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

30 Dec 06:28
Compare
Choose a tag to compare

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

26 Dec 02:54
Compare
Choose a tag to compare

Added

  • Core: add a tsconfig file for types generation and properly enable type suggestions (thanks @lartkma)

Changed

  • Utils: move getPixels() as getImageData() 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

v14.1.1

03 Nov 00:39
Compare
Choose a tag to compare

Fixed

  • Core: disable tree-shaking for now, as it is causing exception with the boilerplate
  • ES6: use proper semantic when exporting default classes
  • Physic: fix a regression in the quadtree implementation that was causing issues with some collision detection edge case

v14.1.0

30 Oct 03:41
Compare
Choose a tag to compare

Added

  • Core: the build process has been upgraded to rollup 3 and Node 19
  • Core: the build process will now only output a tree-shakeable ES Module directory melonjs.mjs