melonJS v13.0.0 Release Notes

Release Date: 2022-07-18 // almost 2 years ago
  • ➕ added

    • Event: also provide a reference to the camera viewport being resized when emitting VIEWPORT_ONRESIZE
    • 🍱 Unit Test: added base64 encoded data preload testing for image and audio assets
    • Utils: new isDataUrl() helper returning true if the given url is in the data:[<mediatype>][;base64],<data> format.

    🔄 Changed

    • 🔨 Core: full ES6 refactoring of me.device, and API clean-up (@see https://github.com/melonjs/melonJS/wiki/Upgrade-Guide#120x-to-130x-stable)
    • 🔨 Game: refactoring of the global game into an instantiable Application object, with game now being the default instance of it (@see #1091)
    • 🍱 Loader: onload and onerror callbacks are now optionals when directly loading assets (easier with base64 encoded assets)
    • 👀 Physic: World physic implementation is now properly tight to its corresponding parent application/game (@see #1091)
    • Physic: Gravity is now properly applied as a force, instead of directly modifying a body velocity
    • Physic: Gravity now properly takes in account the body mass
    • ⚡️ Physic: resulting force is now properly cancelled at the end of an update cycle (not required anymore to manually set it to 0 in user code)

    🛠 Fixed

    • 📚 Doc: fix missing Timer documentation following previous refactoring
    • 🍱 Loader: fix loading/preloading of base64 audio assets, and base64 encoded FontFace
    • Renderer: fix a regression with the masking features in the Canvas Rendering mode
    • 👻 Text: fix an uncaught exception when removing Text object from the game world that use offScreenCanvas texture caching (thanks @wpernath)