Found binaries at OneDrive, here is the what's new:
HBF)
- New element explosive barrel
- Rope now ends with a circle
- Observer Update() takes into account type of message
- Now heroes are spawned first so that they are aware about all other sprite coordinates
- Cardride was broken since some releases...
- Cable sparks now excite any mechanic enemy
- Now sprites can be wake up
- New GameServices.WakeUp(area)
- New Crane entity
- Replaced MOD with AND when possible
- Bomb, Titan and Worm can now sleep
- New trigger WakeUpEntity()
- New IEmitter interface
- Solid layer is calculated when assigned the GameServices as .Layer, so GameServices.GetLayer(SOLID_LAYER) is no longer needed
- New Compass shop item
- New class TGameService for classes that need GameServices interface
- New property TGameSprite.DefaultHorizontalSpeed
- Now menu key can be set in hbf.ini
- Net keys data moved to TSession
- All input (local, remote and impersonate) goes to new class TKeysHelper
- Some Z definition changes
- Files clean up
- New enemy RollingBox
- New inventory item Dynamite
- Collision grid is now 128x128 rather than 64x64
- When an entity dies all his loop sounds are stopped
- Entity sound emission center is also updated continuously
- Sound code improved
- Sound 3d is calculated more accurately
- THBF now inherits from TObservableObject
- New hero can duck
- New element Darkness, darkness maps are only applied to background layers
- New element Fluorescence
- Now Explosions emit light
- Now Nuclear emits light
- Elements with no gravity are not affected by platforms (like boomerang)
- New sound effects to be used: timeout, pitch, attenuation
- Now sound system reuses a sound if same key and distance is lower
- Too far away sounds are discarded
- Playing a bit with sound occlusion
- Now sounds can sleep and fade
- Now there is a generic way to store already taken objects
- New TAchievementsHelper, all achievements code went there
- Gamma is stored in config
- When Gatashi gets stuck then too many task calls to Bezier are made and music is interrupted, improved
- Now enemies roar from time to time (playing with 3d sounds...)
- Now lights are supported in the background layer
- Some solid blocks were disappearing a frame before before being converted into an item
- New element generic laser
- Now shadows casting into walls are more optimized
- New achievement "kill a fly"
- New enemy turret
- Minimap refactored
- Shadow diameter can be now set in realtime
- New decorators in front layer (glass)
- New interface IMinimap
- When a NPC is on a platform it goes away jumping
BB)
- TSprite.Blit() reordered to do less IF/THEN/ELSE
- Faster Blur() method
- New TDummySprite.Move(x,y)
- New TDummySprite.CollisionAt() it simulates a collision at X/Y
- Script property values are written using rtti
- New property TSound.IsStarted
- TSurface2Poly optimized
- Improving the code that calls _intfclear
- Using last version of BASS
- New TLayer.CleanAttributes() and TLayer.CleanTiles()
- New TVectorEx.Avg()
- TAnimationSprite.Tick() and TDummySprite.Draw() improved a bit
- New TObservableObject
- TDummySprite now inherits from TObservableObject
- New TSuperSprite helps to composite sprites
- New TAnimation.FileName
- New TSound.Flags
- TBasicCamera.Rotate() performance improved
- TCollision performance improved
- TSpriteEngine.Render performance improved
- All single comparisons changed to TSingle(x).AsInt
- TCollision hash key is no longer composed by strings but integers
- TCollision minor performance improvements
- TSprite minor performance improvements
- New TCamera.ProjectVertexW when 1/Z is already calculated
- Now TSprite caches W=1/Z, big performance
- Quad effects and filter are done in the setter
- TGraphicDriver.InView() performance improved
- TGraphicDriver.DrawQuad() performance improved
- Now TSprite.Z is TSprite.Priority and TSprite.DirectZ is TSprite.Z, both are combined to create the final Z
- Sprite rotation coordinates are cached
- Now a MMX version of Fill32() is used
- New TGraphicDriver.SetGammaRamp() to apply gamma (only fullscreen)
- New fast Utils.Percent75
- New THashMap<K,V>
- New hashes for generic, 8, 32 and 64 bits sizes
- Maps can now have blur
- Events can be now grouped
- Many float divisions changed to inverse mutiplications
- Particles, float divisions avoided when possible
- TScreen.DrawShape() improved not using FCapacity dictionary
- New Cast<T>.Cast()
- New THashEx.Pack_Four()
- Better performance in the D3D handling of buffers
- New TMath.SinCos(), used when possible
- Now maps can load extras that share same properties as [from..to]
- Layer XShadow and YShadow are now floats