Tuesday, January 1, 2013

New year, new version, happy 2013!

HBF project and the framework has been updated.

- Arrows refactored
- New TBlob enemy
- New class TCoin
- TGame refactored
- TGameSprite refactored
- THero refactored
-New item TStalactite
-New arrows (more directions)
-New blob enemy
-New jellyfish enemy
-Stalactite now breaks when contact a tile
-New TBat enemy
-After a new level and after death there are some seconds of Inmunity
-Better ice
-Stalactite works also in vertical scrolls
-new Spider animation
-Spider now detects tiles
-Sprites now have a Z
-Bitmaps are now separated in different files (cleaner)
-New TBoss1 enemy
-TGameSprite.CollisionLayer removed
-THero.Door removed
-Blob can also now start from the air properly
-Hero has a Z now
-Collision adjusted in general using BoundingBoxes
-Presentation colors changed
-Map now attach the main engine
-New attribute NOT_SOLID
-Levels changed
-New element spike
-New GetCollisionData()
-IsSolid widely used
-New element nonsolid, moving items can cross them
-Now levels with darkness can be created (level 8)
-Collision functions now return an enumerator rather than a boolean
-Sparks are generated in the very front layer
-Under some circumstances there was a double top collision against moving items
-Added gameover sound 
-menu screen also shows highscores 
-New setters for State and Facing in TGameSprite
-Animations are set via States
-When on top of a tile and another tile comes from the top and touch our head, hero dies
-Arrows don't stop when hero has immunity
-Fires use another sprite
-New music for level 12
-New sample for spikes

-Removed AnsiString from some classes
-Maps now can be paused
-Layer.Render refactored once again
-New interface ITag
-New TSpriteEngine.Pause() method
-ILayer and ISprite interfaces can be tagged via GetTag() / SetTag()
-Fixed counter stuff in sprites and added some methods, GetCounter() and CounterExists()
-Blinking in sprites done every 6 frames (looks more realistic)
-New TSurface.GetDefaultBB() that scans the surface in order to adjust the bounding boxes automatically (this method is always called from the surface generator)
-TRandom,NextFloat() fixed
-TUtils.InRange() new method
-Fixed nasty bug in bitmap CRC (really!)
-TPolygon renamed to TPolygonEx
-No animation in Pause
-Clip default value in TSurface corrected
-Surface cache is now a UInt64 rather than string 
-Fixed a issue in TSpriteEngine.Sort()
-TSpriteEngine.Clear simplified
-TLayer Attach engine methods improved internally
-When a TAnimationSprite is destroyed the sprites from the pool are also released
-Sprite Counters are aware of the pause system
-IImage is now IBitmap
-ILayer new GetAttribute() and GetTileRect()
-IPoolable = IPool 
-New interface IInterfaced
-TDummySprite implements IInterfaced
-TPooledObject renamed to TInterfacedObjectEx IPooled not longer implemented
-TFontEx has now some new properties like Angle, Zoom and Alpha 
-Texture multiplication is done properly
-TGraphicsDriver Uninitialize now stops the timer
-TLayer dimensions fixed (nasty + 1)
-TLevel has more information like time or type
-Changed the order of the render internally
 1, items
 2, attached engines 
 3, tiles
-Clip moved from TSurface to TDummySprite, so the clip goes per sprites and not per surface (silly idea)

Links updated

1 comment:

  1. Boy this game should be promoted in a cool platform like www.appaly.com!

    Do you know it? ;)