Thursday, March 21, 2013

March update, getting older soon...

HFB game experiment and BB framework updated:

  • BB
    • TSpriteEngine, fixed some minor Z issues
    • New TSpriteEngine.SpritesAt() that returns the list of all sprites inside a rectangle 
    • New ISurface.GetRectangle()
    • New ILayer.GetSurfaceAt()
    • TSpriteEngine.Render() improved (list removed)
    • TAnimationSprite now updates the current sprite before testing collision.
    • TAnimationSprite.AnimationName now accepts an empty string (meaning that no animation is set)
    • gsPause removed from TGame state, now it is a variable
    • Fixed some bugs in the collision system
    • New ISprite.SetOnDie()
    • TSoundFactory now stores as cache IBuffer (not TSound)
    • TQueue<T> improved
    • TPolygons removed (didn't make sense)
    • Remove all TSprite method related to pointers for surface access since all of them can be done via GetSurface
    • TSuperSprite removed (never used/tested)
    • TInterfacedObjectEx = TObjectEx
    • Surface cache is now searched per index rather than hash
    • Buffers are finally sorted properly and selected automatically via hash (property SortBuffers, False by default)
    • Surface cache in sprite engine improved
    • TPolygonEx.GetHash() improved
    • New TPolygonEx.HasAlpha() (used for polygon hash so now we only have 0 or 1, not 0..255)
    • Render buffers now clean better the D3D stages
    • Some primitives were not filling properly the Z render buffer
    • Many memory leaks removed!, TAnimation,,TSpriteEngine ,TSpritePool ,TLayer ,TDummySprite ,TCollision ,TSurface2Poly ,TSurface ,TPolygons ,TLogHandler ,TSingleton ,TRenderBuffer ,TSoundFactory ,TEvents , TObjectPool, TConcurrentDictionary, TEvents

  • HBF
    • All game sprites are inherited from TElement 
    • New platform that can rotate around an axis
    • THero slope code refactored
    • New sprite var SLOPE
    • TGameSprite.IsDieAttribute() that accepts a cell
    • New prizes "Time", "Kill Them All" and "Immunity" (bitmaps, units and classes)
    • TGameSprite CreateItemAt() renamed to ConvertTile2Item()
    • When hero dies on top of a moving ball, the ball stops
    • THero.IsCollisionBottom() code cleaned
    • New element Rainbow (a bit silly just testing)
    • New enemy Titan
    • Hero now frees the samples (memory leak)
    • Some new samples (New metal sound, Titan uses it)
    • Some new music 
    • Removed some unused units 
    • Improved TSoundDispatcher, now all sounds are played via this class
    • Pause now pauses all playing sounds
    • Lava and water are not longer treated as solid so some enemies can move inside, like Titan
    • New SpriteFactory (file and class) (all sprite creation move to TSpriteFactory)
    • Pixel shader used then pausing enemies via pickup 
    • Hero cannot pickup coins when dying
    • Background does not longer move 
    • Background is now freed (memory leak)
    • SpriteEngineLayer2 is now freed (memory leak)
    • TSpriteFactory is now freed (memory leak)
    • Fixed a double free class with rotating platforms
    • New classesTNonGravityElement and TNonGravityEnemy, some enemies and elements inherit from them.
    • New enemy Chandelier 
    • All sprites now behave like hero (they interact with the environment since many functions were moved from THero to TGameSprite)
    • Ray more realistic (...)
    • Blob side collisions improved
    • Bomb side collisions improved
    • Titan side collisions improved
    • All tiles can now be "moving tapes" (before they were sprites)
    • When starting and finishing a level a fading effect is used 

Summer is coming soon!


  1. 44TH AMATEUR SERIES (Division 7)

    Intel i5 Quad
    256mb hash each where possible
    3-4-5 piece tablebases
    Ponder off
    ChessOK2013-3.cgb book
    40 moves in 25 minutes repeating (adapted for the CCRL)
    4 cycles 44 rounds
    All engines 64-bit where available

    The top engine will gain automatic promotion. Any other changes of division will be at my discretion and may not necessarily involve playoff matches.


    Butcher 1.64 64-bit
    Bagatur 1.3a 64-bit
    Maverick 0.51 64-bit
    Absolute Zero
    MangoPaulaAjedrez 4.1
    Gibbon 2.57a 64-bit
    Firefly 2.6.0 64-bit
    ChessKiss 1.7 64-bit
    Fischerle 0.9.30b 64-bit
    ProChess 1.02AD
    Carballo 0.8
    MadChess 1.3 64-bit

    This tournament can be followed more closely from the following link, where games will also be available for download after every two rounds:

    Alternatively, if you install TLCV (Tom's Live Chess Viewer) on your computer, you can watch the games live move by move. You'll also be able to chat to others following the tournament in the chatroom there.
    Host - Port - 16001