-
Notifications
You must be signed in to change notification settings - Fork 20
Changelog
Blaine Bublitz edited this page Sep 14, 2013
·
8 revisions
Breaking Changes
- None! This is a bug fix release
New Features
- Fixed rotation property on entities
Non-Breaking Changes
- Update Lo-Dash dependency location
- Remove extra call to
loadResourcesinGameCore#run
Deprecations
- None! This is a bug fix release
Breaking Changes
- None! This is a bug fix release
New Features
- Yeoman generator support!!! See https://github.com/frozenjs/generator-frozen
- Box now handles sensors! Just add sensor property to your entities and they will start showing up in your collision handlers
- Added Gamepad API example
Non-Breaking Changes
- Fix bug where
GameCore.stopdidn't actually stop a game - Disable
prevent_defaultoption on default Hammer.js configuration insideInputManager- it caused problems with click events on DOM elements - Fix error on Chrome for Android when there was no WebAudio is available
Deprecations
- None! This is a bug fix release
Breaking Changes
- Due to performance reasons,
InputManager.mousemoveonly fires duringmousedownortouchstart- see breakouts example for workaround - Added
frozen/TouchActioninstead of usingfrozen/MouseAction- used whenInputManager.emulateMouseisfalse -
InputManager.handleTouchandInputManager.handleMouseremoved, replaced withInputManager.emulateMousewhich determines if MouseAction or TouchAction should be used - Either
InputManager.mouseActionorInputManager.touchActionwill be active at one time (depending on state ofInputManager.emulateMouse) -
InputManagerevent handling methods no longer check if a point is inside canvas -
InputManager.keyActionsswitched from array to object (only breaking if you iterate over the collection) - Removed
Box.destroyJointbecause it was deprecated in last release - Created a
frozen/box2d/listeners/Contactmodule to contain contact listener callbacks and other logic - move custom contact handlers to this object - Remove
dojo/dom,dojo/dom-geometryanddojo/dom-stylemodules from hard dependencies to use straight DOM instead (modules will be missing from built layer) - Remove
dojo/_base/langin favor of Lo-Dash (module will be missing from built layer) - Removed
updatefunction fromfrozen/reiner/Creature- replaced withupdateDirectionandupdateAnimationsfunctions
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.hammeris an instance of Hammer.js -
InputManager.oncan be used for binding new events -
InputManager.insideCanvascan be used to check a point against theInputManager'scanvas - 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
preSolveto 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/removeExtensionnow uses a regex for removing the extensions, limited to 4 characters after the. -
require.toUrl(filename)is now used inside theloadSoundandloadImagefunctions, instead of the plugins - Fix for WebAudio on iOS
- On mobile which requires touch, interally switch to
Audio.play()instead ofAudio.load()to avoid double loading - Use
dcl'sadvice.beforeto wire upGameCore.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)
Breaking Changes
- Removed previously deprecated methods and properties
- Removed Node 0.6 support for the build process
-
frozen/sounds/Soundwas a plugin, but is now the base object of other Sounds andfrozen/sounds/AudioBasewas removed -
frozen/sounds/Soundplugin was moved tofrozen/plugins/sound -
frozen/box2d/Entitymoved tofrozen/box2d/entities/Entity -
frozen/box2d/RectangleEntitymoved tofrozen/box2d/entities/Rectangle -
frozen/box2d/CircleEntitymoved tofrozen/box2d/entities/Circle -
frozen/box2d/PolygonEntitymoved tofrozen/box2d/entities/Polygon -
frozen/box2d/MultiPolygonEntitymoved tofrozen/box2d/entities/MultiPolygon
New Features
- Auto-selection of Audio extension if no extension is specified
-
loadSoundandloadImageplugins now userequire.toUrl()to generate a path to your resources - Added
.jamignorefile -
Box.setAngularVelocityfunction added to set the angular velocity on an entity - Tests added for Sounds, BoxGame, and Sprite
- Added
frozen/box2d/entitieswhich returns a map of entity types - Added
frozen/box2d/jointswhich returns a map of joint types -
BoxGame.addBody,BoxGame.removeBody,BoxGame.addJoint,BoxGame.removeJointmethods 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.1and add/update all the dependencies inpackage.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 matchsrc/ - Implement the dcl Cleanup API for InputManager to remove event handlers on destruction
- Add declaredClass to entities and joints
Deprecations
-
Box.destroyJointhas been deprecated in favor ofBox.removeJoint
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
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