<<<<<<< HEAD
Add gamepad support.
=======
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Bug where sound said it was loaded, but wasn't
- Crash on undefined sound
- Object leak in touch code
- Function leak in draw image system
- Set virtual axes with
game.inputs.setAxis()
. Useful for on-screen joysticks (coming soon).
- Correct the y position of non-tile-size tiles
- Filter images before sorting them to improve performance.
- Scene configuration data is now available as
game.sceneConfig
. This can be useful for configuring systems on a scene-by-scene basis. - The
box-group-collider
system now supports a list of groups to skip collision checks against ingame.sceneConfig
.
- New
box-group-collider
system that supportsonEnter
/onExit
/script
event scripts, and allows you to group entities to improve performance.
box-collider
system. Upgrade tobox-group-collider
.
- Small performance improvement when drawing lots of images. Don't draw anything outside of camera.
- Property names of size component
- Support Tiled layer visibility by not importing invisible layers
- Move some new systems to the correct folder
- Use new ECS functions in background-color system
- Use new ECS functions in follow-mouse system
- Support Tiled layer offsets
- Support Tiled zlib & base64 layers
- Multiple scenes can run at the same time. This can be used to draw a UI scene on top of a game scene.
- Scenes now have a
speed
that effects how fast time passes
- Systems have been separated into
simulation
andrenderer
folders - Upgraded to
entity-component-system
v4.x, which is a breaking change that passes through to your game viagame.entities
. - Convert the
match-center-x
andmatch-center-y
systems to justmatch-center
.
importTilemap
can now import "collection of images" tilesets
- Handle nonexistant tileset properties on Tiled importer
- Update renderer systems to only have 2 arguments
- Old touch button support. Not needed since entities can now be buttons
- Updated
entity-component-system
module.
- Entities can act as virtual buttons now with the
setVirtualButtons
system.
applyEasing
system
matchParent
system now also matches the z property on theposition
component
decayLifeSpan
systemparticles
module
importTilemap
function for importing Tiled tilemaps.timer
component now has aloop
flag to make it repeatapplyAcceleration
systemrandom.inRange()
&random.from()
apply-shake
andrevert-shake
systems- Use
"all"
insystems.json
for a system to apply to all scenes. This replaces the array.
- Improved the look of the FPS counter
game.sounds.setVolume
now works
- Updated
html5-gamepad
to fix crash in Safari
- Mouse button should default to not pressed
- Mouse bug where input sometimes doesn't register
- Make draw ordering stable when entities are on the same Y position
- Add
game.registerPrefab
andgame.registerPrefabs
to create new prefabs at runtime. - Suppport
alpha
transparency inimage
component.
match-center
system, you should usematch-center-x
andmatch-center-y
to achieve the same thing.
- Gamepad support!
- Fix
constrainPosition
system - Fix more places in game.js where
input
needed to beinputs
.
- Fix bug in game.js where
input
needed to beinputs
.
- Add
matchCenterX
andmatchCenterY
systems
- Change
contstrain-to-playable-area
toconstrain-position
, and make the system use an entity for the area. - Renamed
game.input
togame.inputs
. - Moved
zindex
component into theposition
component'sz
property.
- Inputs support mouse buttons
- allow
game.switchScene()
during scene enter script
upstream/master
- match-center system
- Fix soundloader bug.
- Default rotation.x and rotation.y to the center of the entity.
- Remove deleted entities from collision lists.
- Add
instantiatePrefab
function to instantiate new entities from prefabs
Game
constructor now loads all the json files by itself. Now it only needs 2 arguments.
- animation frame splitting now copies all animation properties, and doesn't lose any
- remove magical "splatjs:" way of loading systems.
- automatically size the canvas based on a selectable algorithm.
- matchCanvasSize system to make an entity the same size as the canvas
- matchAspectRatio system to make an entity match the aspect ratio of another entity
- add
Input.buttonPressed()
andInput.buttonReleased()
- add warnings about bad image component values and provide defaults for unset values
- fix bug where animations wouldn't work
- mouse coordinates scale correctly when no css is applied to canvas
- use box-intersect module for faster collision detection
- window.timeSystems() to log timings of ECS systems
- Speed up advanceAnimations system
- applyMovement2d never found entities
- Readme typo
- Format changelog
- Upgrade to entity-component-system 2.0.0
- Add method to reset box collider cache
- Un-scale the viewport when it is reset
- Support scaling of viewport through camera
- Draw custom buffer for an entity if it is specified
- Support rotation when drawing images.
- Log more info on no such image error
- Add matchParent system.
- Allow sound loop start and end settings
- Add a way to remove a deleted entity from the collision detection cache.
- Fork from original splatjs project.