Skip to content
Blaine Bublitz edited this page Jun 18, 2013 · 8 revisions

Changelog

v0.4.0

Breaking Changes

  • Due to performance reasons, InputManager.mousemove only fires during mousedown or touchstart - see breakouts example for workaround
  • Added frozen/TouchAction instead of using frozen/MouseAction - used when InputManager.emulateMouse is false
  • InputManager.handleTouch and InputManager.handleMouse removed, replaced with InputManager.emulateMouse which determines if MouseAction or TouchAction should be used
  • Either InputManager.mouseAction or InputManager.touchAction will be active at one time (depending on state of InputManager.emulateMouse)
  • InputManager event handling methods no longer check if a point is inside canvas
  • InputManager.keyActions switched from array to object (only breaking if you iterate over the collection)
  • Removed Box.destroyJoint because it was deprecated in last release
  • Created a frozen/box2d/listeners/Contact module to contain contact listener callbacks and other logic - move custom contact handlers to this object
  • Remove dojo/dom, dojo/dom-geometry and dojo/dom-style modules from hard dependencies to use straight DOM instead (modules will be missing from built layer)
  • Remove dojo/_base/lang in favor of Lo-Dash (module will be missing from built layer)
  • Removed update function from frozen/reiner/Creature - replaced with updateDirection and updateAnimations functions

New Features

  • Add Bower support
  • Add dependencies on Lo-Dash and Hammer.js
  • Touch/Mouse/Pointer event normalization with Hammer.js
  • Gesture support with Hammer.js
  • InputManager.hammer is an instance of Hammer.js
  • InputManager.on can be used for binding new events
  • InputManager.insideCanvas can be used to check a point against the InputManager's canvas
  • New methods for adding or removing multiple bodies or joints in frozen/BoxGame: addBodies, removeBodies, addJoints, removeJoints
  • New methods for flipping images in frozen/ResourceManager: flipImage, flipImageX, flipImageY
  • Added preSolve to contact listener
  • Added box2d sprite, gesture, ragdoll physics, and breakouts examples

Non-Breaking Changes

  • Update Examples to use features of 0.3.0/0.4.0
  • frozen/utils/removeExtension now uses a regex for removing the extensions, limited to 4 characters after the .
  • require.toUrl(filename) is now used inside the loadSound and loadImage functions, instead of the plugins
  • Fix for WebAudio on iOS
  • On mobile which requires touch, interally switch to Audio.play() instead of Audio.load() to avoid double loading
  • Use dcl's advice.before to wire up GameCore.beforeUpdate

Deprecations

  • GameCore.preUpdate - Deprecated in favor of beforeUpdate
  • InputManager.handleMouse (already removed) - Mouse is always handled, use emulateMouse to specify how to handle it
  • InputManager.handleTouch (already removed) - Touch is always handled, use emulateMouse to specify how to handle it
  • InputManager.mouseUp - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.mouseDown - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.mouseMove - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.touchStart - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.touchEnd - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.touchMove - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.keyPressed - Use keydown instead - same syntax as normal event handling
  • InputManager.keyDown - Use the lowercase name instead - same syntax as normal event handling
  • InputManager.keyReleased - Use keyup instead - same syntax as normal event handling
  • InputManager.getMouseLoc - Deprecated in favor of normalizePoint function (Same functionality, different name)

v0.3.0

Breaking Changes

  • Removed previously deprecated methods and properties
  • Removed Node 0.6 support for the build process
  • frozen/sounds/Sound was a plugin, but is now the base object of other Sounds and frozen/sounds/AudioBase was removed
  • frozen/sounds/Sound plugin was moved to frozen/plugins/sound
  • frozen/box2d/Entity moved to frozen/box2d/entities/Entity
  • frozen/box2d/RectangleEntity moved to frozen/box2d/entities/Rectangle
  • frozen/box2d/CircleEntity moved to frozen/box2d/entities/Circle
  • frozen/box2d/PolygonEntity moved to frozen/box2d/entities/Polygon
  • frozen/box2d/MultiPolygonEntity moved to frozen/box2d/entities/MultiPolygon

New Features

  • Auto-selection of Audio extension if no extension is specified
  • loadSound and loadImage plugins now use require.toUrl() to generate a path to your resources
  • Added .jamignore file
  • Box.setAngularVelocity function added to set the angular velocity on an entity
  • Tests added for Sounds, BoxGame, and Sprite
  • Added frozen/box2d/entities which returns a map of entity types
  • Added frozen/box2d/joints which returns a map of joint types
  • BoxGame.addBody, BoxGame.removeBody, BoxGame.addJoint, BoxGame.removeJoint methods added for convenience

Non-Breaking Changes

  • Made all the examples adhere to the linting rules of the rest of the project
  • Move linting declarations to .jshintrc to allow for JSHint being run in the directory standalone
  • Update Grunt to ~0.4.1 and add/update all the dependencies in package.json
  • Modified the Gruntfile to work with new plugins and define more tasks for convenience
  • Removed Node 0.6 from tested environments
  • Updated examples that were using deprecated methods
  • Cleanup event handler usage on Audio implementations
  • Rearranged the specs/ file structure to match src/
  • Implement the dcl Cleanup API for InputManager to remove event handlers on destruction
  • Add declaredClass to entities and joints

Deprecations

  • Box.destroyJoint has been deprecated in favor of Box.removeJoint

v0.2.1

Breaking Changes

  • None! This is a bug fix release

New Features

  • None! This is a bug fix release

Non-Breaking Changes

  • Scaling issues in IE10 were fixed
  • Fixed issue where ResourceManager was hanging when Audio loading errored
  • Made collision masking check against null or undefined instead of hasOwnProperty
  • Partial Chrome for Android sound support

Deprecations

  • Sound plugin will be moved to plugins 0.3.0
  • AudioBase will be renamed Sound in 0.3.0

v0.2.0

Breaking Changes

  • Default Box#gravityY to 9.8 instead of 10
  • Auto-scaling on Box (Will cause problems if you are already scaling and don't account for auto-scaling)P
  • Remove dojo/_base/declare from single layer - switch to dcl
  • Change color to fillStyle and strokeColor to strokeStyle to stay consistent with canvas API

New Features

  • Added Joints (Distance, Prismatic, Revolute) - Box gained methods related to Joints
  • Added GameCore#setHeight and GameCore#setWidth to set the game's and canvas' height or width
  • Entities gained pointInShape function to determine if a point is within shape
  • Collision filtering inside Box and properties on Entities
  • Added insideCanvas utility and an insideCanvas property flag on mouse or touch events
  • HTML5 Audio Support - with plugin that auto-detects which audio type to use
  • Default lineWidth on Entities - used inside default draw
  • AMD Plugins for loadImage and loadSound
  • BoxGame added for easy creation of Box2d games - added preUpdate to GameCore to support this
  • Jasmine tests for the library

Non-Breaking Changes

  • loadSound and loadImage now accept a String, Array of Strings, or Object of Strings and return the same type
  • Dojo/on is used to listen for Image loading - allows for other event listeners to be added without breaking things
  • Removed width and height from Box
  • Cleaned up InputManager#resize
  • Rewrote pointInPolygon module
  • Fix some InputManager bugs
  • Add more documentation
  • Update examples

Deprecations

  • Any method that is just a getter or setter that did nothing else - No reason to continue the Java paradigms
  • Animation#createFromTile
  • ResourceManager#imageCount, ResourceManager#loadedImages, ResourceManager#playSound
  • Sprite#drawCurrentFrame
  • Entity#hidden
Clone this wiki locally