forked from melonjs/melonJS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
179 lines (171 loc) · 11.3 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
Version History
---------------
0.9.5
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
* 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 :)