Added Apple Touch icons
-Made game area dimensions configurable in one place (engine config)
-Added "Chrono" class, which manages timing throughout the engine
-Made changes to horizontal physics calculations. This still needs some work, after Chrono is fully implemented.
Removed rendering from Grid. Now Grid only makes calculations and repositions segments; Broke Level::updateAndDraw() into two functions: update() and draw()
* Divided rendering into two parts: pre-render and render. Pre-render draws tiles to a canvas in memory. Render draws that canvas to the screen one frame later
* Minor performance tweaks
Fixed small bug with vertical scrolling
Lots of performance testing code. Will be removed entirely once I've properly optimized everything.
* Added Grid2. This version doesn't use a multiple-canvas approach. I'd like to combine both into one Grid that adjusts to different devices.
* Added FuncQueue. All queue items must be functions (and arguments). When an item is de-queued, it immediately gets executed. This is currently being used to initialize game assets.
Fixed incorrect reference to FuncQueue.js
Added UserAction.js. This allows certain inputs and keeps track of keypresses & touches. It should also track mouse events if that becomes relevant.
Merged Grid2 into Grid. There are two modes: MODE1 and MODE2. MODE1 renders everything to one large canvas. MODE2 renders to many small canvases and moves the canvases across the screen. After some testing, there doesn't appear to be any performance advantages to MODE2 on iPhone4 and iPad2. In fact, performance is slightly worse.
* Display size only needs to be set as a parameter to Engine (not in the CSS as well). If no size is given, the window size is used.
* Did some minor code cleanup.
*Added a new RETRO namespace to all classes.
*Removed Util and moved its functions to RETRO.
*Removed Grid2
Removed Util.js
-Fixed bug that caused the level to scroll beyond it's width
-Added the beginnings of unit testing
-Updated to use new game config format with two-layered levels
-Added Screens! (for titles, cut scenes, menus, etc)
-Fixed a bug in Font that caused a 'tracking' value to be provided.
-Added a setTimeout method to Chrono
Made some more tweaks to screen handling
Level transitions appear to be working. Will probably need more testing.
GameLevel is no longer used and has been removed.
Cleaned up some unused code in Engine.
-Scroll margins are determined dynamically now
-Window resize will update the view size and the grid
-Engine props: 'fixed[Width|Height]' causes the view to always be fixed. 'max[Width|Height]' causes the view to resize based on the window size up to the provided values.
-Change Chrono::setTimeout so that it cannot be set while another timeout is in effect (unless the cancel argument is true).