forked from melonjs/melonJS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
239 lines (229 loc) · 14.8 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
Version History
---------------
0.9.7
* Font : changed default alignement to `left`
* Entity : ObjectEntity is now composed with a `renderable` component (does not anymore inherit from AnimationSheet)
* TMX : added JSON map format support
0.9.6
* General : fix compatibility issue with previous iOS(5.x) and Android version
* Core : Workaround for useNativeFrame when cancelAnimationRequest is not supported
* Audio : added volume and mute control settings
* Audio : added the possibility to stream audio elements
* TMX : code optimization to lower memory usage
* TMX : fixed layer scrolling when using pre-rendering
* Loader : fixed `me.loader.load` not adding TMX into the `me.levelDirector`
0.9.5
* Audio : added mp4/aac pre-loading support
* Audio : added codec selection based on audio support level
* Core : fixed requestAnimationFrame
* Core : added an official plugin API
* Core : fixed a object removing and sorting lock issue
* Core : added a 'floating' property for renderables
* Core : added Object Pooling support
* Core : fixed the `me.game.getEntityByName` function when using camelcase names
* Debug : added a simple debug panel plugin
* Font : fixed font name starting with a decimal value
* Font : added changes to allow specifying a flat number of px,em, etc for font sizes.
* Font : added support for comma separated font names like in CSS
* Event : added Daniel Lamb minPubSub library for event publishing
* Event : fixed touch event support detection on cocoonJS
* Event : added `click`, `dblclick`, `tap` events
* Event : fixed mouse event conflict and mousewheel event
* Geometry : added a function to return the angle between two vectors
* Input : me.GUI_Object's onClicked() function has been renamed to onClick()
* Loader : use asynchronous mode when loading XML files
* Entity : added spacing and margin capacities for sprite (same as Tile Map Sprite)
* Entity : fixed flickering when using requestAnimationFrame
* Entity : added opacity setting
* Entity : fixed visible property automatic setting
* Entity : moved collision check outside of the Entity Object
* Entity : cleaned and renamed the collision utility function
* Entity : added the possiblity to check for multiple collision
* Entity : added a `collideType` function to check for collision with a specific type
* Entity : moved collisionBox from SpriteObject to Entity Object
* Entity: added a distanceToPoint, angleTo and angleToPoint function
* Tween : fixed tween when pausing game
* Tween : various fixes and optimization from the official repository
* TMX : fixed a bug that was preventing a non visible layer to be set visible later
* TMX : fixed the clearTile function on non visible layers (e.g. collision map)
* TMX : added official support for Opacity in TiledLayer, TMXLayer, colorLayer and ImageLayer
* TMX : added support for TSX files
* TMX : added a `repeat` property to Image Layer instances, similar to CSS background-position
* TMX : Parallax layer is now based on the new "official" Image Layer support (from Tiled 0.9.0)
* TMX : fixed the `getObjectGroupByName()` function
* TMX : added support for custom tile type
* Tutorial : fixed camel case issue in resource names
* Tutoroal : update the parallax part to reflect last changes in melonJS (Image Layer)
* Video : added support for display scaling
* Video : added a setImageSmoothing function
* Example : added "whack-a-mole" as an official example
* Example : added a new "platfomer" example (using legal assets) and removed alex kidd based examples
0.9.4
* General : melonJS is now only using Google Closure (removed YUI compressor)
* General : melonJS is now ES5 strict mode compliant
* General : added a .editorconfig file to provide basic rules to editors
* Core : added a flag to enable/disable automatic pause on loosing/gaining focus
* Core : fixed rendering loop when using requestAnimationFrame (parasyte)
* Core : added a renderCollisionMap debug setting (parasyte)
* Core : use console.error instead of window.alert
* Core : added the possibility to specify a user-defined sort function
* Core : fixed mixing screenObject added as object, and TMX level loading
* Core : fixed screenObject when extending update & draw function
* Entity : added an anchor point for renderables (through SpriteObject)
* Entity : added rotation support (through SpriteObject)
* Entity : added the possibility to pause an animation (parasyte)
* Entity : fixed default position by using top-left coordinates as in Tiled
* Entity : fixed invisible entities being removed when colliding
* Font: fixed me.Font horizontal alignement
* General : fixed & enhanced object/memory deallocation when switching levels
* General : rewrote the parallax code using the new Generic Image Layer Object
* General : added support for vertical parallax layer
* Geometry : added a function to test for vector "equality"
* Geometry : added a couple of Self function (to help avoid object creation)
* Loader : fixed a case issue between filename and asset name
* Input : added the possibility to check for mouse event based on world or screen coordinates
* Input : fixed a false-positive issue at initialization, and usage of special keys (parasyte)
* TMX : added dynamic layer rendering (configurable globally or per layer through Tiled)
* TMX : added Image Layer Support (Tiled daily builds only)
* TMX : added support for the new map background property (Tiled daily builds only)
* TMX : added a Color Layer (used when a background color is defined)
* TMX : another round of clean-up and various bug fixing
* TMX : added support for TMX Object without name (parasyte)
* TMX : added preliminary support for polygon and polyline objects (parasyte)
* TMX : fixed visible flag and user-defined properties not being applied to ObjectGroup
* TMX : fixed rendering issue with transformed tiles (AD, H, V)
* TMX : fixed display of map being smaller than the viewport
* TMX : fixed TMXObject not being declared correctly under the "me" namespace
* Utils : fixed the HexToRGB function and added support for the 3 char format (#hhh)
* Tween : fixed exception in the tween library (parasyte)
* Documentation : Corrected and added missing documentation
0.9.3
* General : Better Error management and reporting
* General : added a dummy console.log for platforms not supporting it
* General : melonJS now uses Google Closure for library minification
* General : Added a global gravity setting that will override entities default value if defined
* Core : now properly calls all objects onDestroyEvent function when resetting game
* Core : added the possibility to define a callback when a level is fully loaded
* Core : added a couple of utility functions (degToRad, radToDeg)
* Core : fixed GUID creation when passing a non string parameter
* Core : only check for collision when the projection vector is set
* TMX : global rewrite, code optimization and clean-up
* TMX : added support for isometric map loading and display
* TMX : added support for perspective map loading and display
* TMX : relaxed TMX property case sensitive checks
* TMX : added tile rotation support (Tiled 0.8.0)
* TMX : fixed level name property not being set, and use it when required
* LevelDirector : fixed the nextLevel & previousLevel functions
* Loader : added binary file support
* Loader : added possibility to dynamically load any resources (i.e. during the game)
* AnimationSheet : the entire sprite-sheet is now use to create the default animation
* Entity: fixed CollisionBox not being properly used on y axis when checking for collision
* Entity: fixed CollisionBox issue when dealing with sub-pixel positioning
* Entity: fixed setVelocity not setting y velocity when x velocity is null
* Entity: added missing properties (GUID, name) in InvisibleEntity
* Entity: fixed res.obj not defined in InvisibleEntity
* HUD: added a removeItem function
* GUI: rewrote the GUI Object accordingly to the new event management
* Geometry : added a containsPoint function
* Geometry: added a floor() and ceil() function to Vector2d
* BitmapFont : fixed BitmapFont ignoring 'center' alignment
* BitmapFont : avoid implicit object conversion when rendering a bitmapFont
* Input : fixed use of numeric keys by using a proper constant value.
* Input : rewrote mouse event management
* Input : added touch event management (with mouse event emulation)
* Input : (beta) multitouch support
* Input : added Accelerometer event management
* Documentation : added a lots of missing documentation on various API
* Documentation : Added JS syntax highlighting in the tutorial
* Documentation : Don't use onDestroyEvent to manage score in the examples
* Documentation : Exposed more TMX objects and APIs
0.9.2
* General: melonJS is now licensed under the terms of the MIT License
* General: added some Cake magic, allowing to use melonJS with CoffeeScript (by scan)
* General: added melonJS UML Class Diagram in the official repository (by Ben2303)
* General: melonJS now properly stays in it's own namespace (me)
* Audio: configurable behavior in case of audio loading error
* Core: fixed a shaking bug when collision box is not aligned with the sprite box
* Core: fixed collision detection bug (object being tested again itself)
* Core: refactored fading function using Tween objects (API CHANGE, see documentation)
* Core: added a helper method to know the sign of an number
* Core: Corrected variables definition (global->local)
* Core: added a GUID (Game Unique Identifier) to objects
* Core: getEntityByName now also returns non Entity Object (like layers)
* Core: Fixed state change when using custom state values
* Core: me.game.collide now also returns an object reference in the collision vector
* Core: renamed and correctly initialize the localStorage flag capability
* Doc: various documentation correction and improvements
* Entity: added friction management
* Entity: updateMovement function now returns a collision "vector" (API CHANGE, see documentation)
* Entity: refactored/cleaned-up movement/collision function
* Entity: added support for multiline spritesheet (fixed cell size)
* Entity: added the possibility to define a specific transparent color for spritesheet
* Entity: implemented a resize function, allowing to resize a sprite on the fly
* Entity: optimized/refactored SpriteObject
* Entity: fixed object with 1 single sprite (no animation) not begin updated
* Entity: Added the possibility to also specify a callback when an animation is over
* Entity: Fixed an initialization issue when using melonJS without a Tilemap
* GUI: Corrected me.GUI_Object and added missing documentation
* GUI: marked me.GUI_Object as deprecated, as it will be rewritten in a next release
* Event: also cancel event bubbling
* Font: added support for multiline fontsheet
* HUD: added a setItemValue() function
* HUD: corrected display issue on Opera
* Loader: added possibility to add graphics resources after pre-loading (e.g. ingame)
* TMX: use native Base64 decoding when available
* Viewport: Object to follow can either be a Object Entity or a position Vector
* Viewport: Fixed default value (if parameter not specified) for Axis to follow on
* Video: cleaned-up the applyRGBFilter function
0.9.1
* Core: "cache image" option (disabled by default) to use canvas instead of directly using Image Object
* Core: add onPause and onResume callback when game is paused/resumed on losing/gaining focus
* Core: added possibility to pass more than 1 extra argument to me.state.change (extra arguments will be passed to the reset function of the target object)
* Core: object can now only be destroyed using me.game.remove(obj), made of ObjectEntity.destroy a private function
* Core: beta dirty Rectangle support (only working for non scrolling level for now)
* Core: experimental webGL wrapper
* Core: added a getEntityByName function
* Core: fixed some kind of "lag" issues when deleting objects
* Core: improved the requestAnimFrame usage, and fallback to setInterval. me.sys.useNativeAnimFrame to enable it (disable by default)
* Core: optimized the way objects are managed in the game loop
* Core: defined (and used) a Object.defineProperty function to replace __defineGetter__ / __defineSetter__ (was not supported on IE9/IE10)
* TMX: implemented Tiled "transparency" property for Tileset, allowing to specify which color should be transparent (note: this slows down level loading)
* TMX: fixed unnecessary canvas creation for the collision layer (should free some memory)
* TMX: cleaned/optimized data loading and fixed an issue on FF with XML parsing of "big" Base64 encoded maps (only first nodeValue was parsed by the engine)
* TMX: added support for CSV data encoding
* TMX: added support for flipped tiles, as supported in Tiled 0.7
* TMX: added multiple tileset support
* TMX: Added a "background_image" property. To be set through Tiled, and allowing to specify a fix background.
* Entity: merge AnimatedSpriteObject into SpriteObject. SpriteObject now takes an optional additional argument to create an animated sprite
* Entity: added a distanceTo function
* Viewport: fixed camera refresh when changing "deadzone" values
* loader: added a "onProgress" callback to get progress notification, removing the need to poll the loader each frame for loading progress
* loader: fix progress notification when TMX files are loaded into the levelDirector
* loader: added a retry counter for the audio loading : script will now stop and throw an exception after 3 unsuccessful loading attempts.
* video: renamed "applyEffect" to "applyRGBFilter", and fixed an issue on Opera
* audio: fixed compatibility issues with IE9/10
* geometry : added a merge function to me.Rect
0.9.0
* Doc: API documentation using jsdoc-toolkit (finally!)
* Geometry: define getter for me.Rect coordinates (simplify code)
* Level: support for fadeOut/fadeIn effect in me.LevelEntity (when changing levels)
* Entity: correctly implemented InvisibleEntity Objects (no longer inherit from ObjectEntity)
* Entity: makes SpriteObjet inherit from me.Rect (make it easier to manage sprite pos and size)
* Loader: cosmetic update of the preloader screen
* Viewport: "rounding" issue fix in the viewportEntity (~~30% less CPU usage on Safari/OSX!)
* TMX: cleaned & refactored tilemap collision detection (still not perfect though)
0.8.0
* TMX: support for "TiledObject" (as supported in Tiled 0.6.2)
* Entity: re-factored constructor call to Object Entities (to use the settings obj produced through Tiled)
* Entity: moved collision function from AnimatedSpriteObject to ObjectEntity
0.7.9
* Viewport: added some effects to the camera object (shaking, fading, ...)
* Viewport: re-factored and fixed the camera/viewport code
* Core: re-factored public objects using John Resig Inheritance mechanism.
* Core: fixed the "bootstrap" (unnecessary double call)
* Entity: re-factored parallax code & corrected a bug that was causing the layers to be drawn 2x times
* Audio: partially fix crash audio in safari when audio is enabled
* Core: fixed gfx glitches (rounding issues)
0.7.6 (May 16, 2011)
first public version with alex4 !
www.melonjs.org is live :)