PDA

View Full Version : Elysion Version 1.1 released



Stoney
05-01-2012, 11:58 PM
It has been about a month since the last release of Elysion. Version 1.1 is primarily a bug fix and performance release, it still supports FreePascal 2.4.x and Turbo Delphi (possibly Delphi 7 as well).

The most important features are sprite sheet classes (well, you could animate sprite sheets before this change, but this required using a lot of code), which have been designed after Flashpunk's SpriteMap classes, let me give you guys an example:



uses
...
ElysionSpriteSheet,
...


//Declare MySpriteSheet as TelSpriteSheet where you need to use it

// In the constructor of the scene add:
MySpriteSheet := TelSpriteSheet.Create;
MySpriteSheet.LoadFromFile('myspritesheet.png');
MySpriteSheet.FrameSize := makeSize(128, 128);
MySpriteSheet.Frame := 0; //< Sets the frame to zero (This needs to be called if the frame size has been changed)
// The sprite sheet is now loaded and the size of a frame is set to 128x128 pixels.

// Now you only need to play the sprite sheet, for example
// in the Update procedure of a scene or in an event handler callback

MySpriteSheet.Play();
// Plays the complete sprite sheet. The only parameter is an integer which
// is the length of the animation in ms. It's set to 1000 (= 1 s) by default

MySpriteSheet.PlayFrames([0, 3, 5, 7, 11, 17, 23]);
// Plays only those selected frames. The second parameter
// is the length of the animation (set to 1000 by default)

MySpriteSheet.PlayFrames(4, 16);
// Plays all frames from 4 to 16. The third optional parameter
// is the animation's length once more, set to 1000 by default


// Other ways to play a sprite sheet

MySpriteSheet.PlayRow(2, 2000);
// Plays the third row of the sprite sheet (Counting begins at 0)
// with the length of 2s (Second parameter optional)

MySpriteSheet.PlayColumn(3, 4000);
// Plays the forth column of the sprite sheet (Counting begins at 0)
// with the length of 4s (Second parameter optional)


Other changes include some slight performance improvements, improvements to per pixel collision on 64-bit systems, improvements to the texture loader and removed the X11 dependency on Mac OS X.


As always, you can grab the release over on Github (https://github.com/freezedev/elysion). If you are starting out with Elysion, please take a look at the wiki (https://github.com/freezedev/elysion/wiki), especially the Getting Started (https://github.com/freezedev/elysion/wiki/Setting-up-our-development-environment) part.
Direct download link: https://github.com/freezedev/elysion/zipball/V1.1



The full changelog is here:
* Marked intermediate GUI as deprecated (Please use TelNode descendants and add them to other nodes, layers or scenes)
+ Added support for sprite sheets (TelSpriteSheet)
* Fixed an issue where animators don't have their end value when the animation finishes
+ Added WaitUntilFinished property to TelAnimator and TelSpriteSheet (If set to true, the animation cannot be played again until it has been finished)
* Small performance optimizations (#59)
* Saves screenshots and log at working path (#58)
* Fixed an issue where pixel collisions leads to a crash on 64-bit systems (#63)
* Fixed an issue where rounded rectangles are not being drawn (#64)
* Removed X11 linking dependency on Mac OS X
* Updated Vampyre dependency to latest Mercurial version (11-Dec-20)
* TelSize has now Single values instead of Integer
+ Added first draft of pluggable provider system (for graphics, audio, etc.)
* Improved texture loader: Pixel data (for pixel collision) will only be loaded if needed -> Faster loading times
- Removed ResourceMap unit (as it will be renamed and restructured)
- Removed SFont unit due to it being GPL licensed

WILL
07-01-2012, 09:25 AM
I think that one of the things that is keeping interest in Elysion as a potential framework for them, other than the recent high volume of frameworks of late, is that it doesn't have much branding or visual demos and/or presentation of what it can actually do.

Show off some demo videos or have them play a couple of game demos that use it and perhaps you'll garner more interest in the otherwise technically impressive framework.

Maybe start by drawing up a simple sleek looking logo that fit's the style of the framework it's self?