Sunday, 23 January 2011

Engine 5.08 released

Engine5.08

Converted my old (2 years ago) Space invaders code over to the current engine (two complete revisions of changes). This has found quite a few bugs with some core components. So this update should be considered a serious.

I also took the opportunity to add some useful additions to various aspects of the engine.


Bugs fixed in this release
==========================

Audio001: PlayEffect now works properly, it will automatically create multiple instances of your sound effects if they are already playing

Audio002: RemoveAllManagedEffects, duplicate effect instances were not having there updated names logged, so were impossible to remove, infinite removal loop could occur

EngineManager018: I think I have fixed this but I the whole update logic has fundamental flaws which must not be carried into the XNA4 version of the engine.

TextManager002: Issues with applying sprite attributes has now been partially fixed.

EngineManager019: Sprites with no type set caused various erratic behaviours, so a a new type noType has been added and all sprites are defaulted to this.

changes

===============
Audio
===============

RemoveThisActiveSoundEffect() - added, this will attempt to remove any sound effect instances that use a particular sound effect. This is different to the RemoveManagedEffect which can only get rid of a specific instance name of a sound effect.

===============
Event
===============

Event() - added, a quick event constructor that allows all 3 values, time, name and event subroutine to be stated in one go

===============
Limit
===============

OnLimit() - added, Allows you in combination with LimitAction.fireEvent to run a subroutine when a sprite reaches its limit box (left,right,front,back,top,bottom). I should of added this functionality ages ago.
RemoveOnLimit() - added, Allows you to remove the OnLimit event
LimitAction.fireEvent - added, allows you to specify a subroutine to run when limit box is reached, this removes the need for checking code in an OnUpdate() handler
OnLimitHandler - added, returns the update routine specified for the event or null if does not exist

===============
SpriteType
===============

added the following types, noType, on, off, pointer

===============
TextProperty
===============

StockLeft - added, give simple textproperties in white so you can produce quicker code, others included are

StockRight
StockCentred
StockBottomLeft
StockBottom
StockBottomRight
StockTopLeft
StockTop
StockTopRight

No comments:

Post a Comment