Saturday, March 9, 2019

Happy birthday daddy!

I'm still improving the engines just because is lots of fun.

Found binaries at OneDrive

HBF)

  • Many enemies can now follow a path 
  • New enemy BouncingLaser
  • Now boomerang does some curve
  • Turrets won't shot if there is a wall in between
  • Fixed TWeird when moving fast 
  • When an enemy is inside a bubble it won't kill hero
  • New SonicBomb item
  • Now any tile can be disintegrated
  • New achievement break a glass 
  • Collision top now also check for slopes
  • Ray was painting surface even if not visible
  • TPathHelper now also works in pixels
  • New property GameSprite.ItemsLayer since it is heavily used
  • Now TWeb disappear with alpha 
  • Some map changes
  • TGhost animation was not always correct
  • New TSegment enemy
  • Fixed a bug selling items
  • New TGameSprite.Coins property
  • New achievement "find all fruits"
  • New fruit items
  • New enemy TBasement that can launch missiles
  • Now TGmeSprite.Explotion() is more versatile
  • New TDoubleTurret
  • New test map so that new entities cab easily be tested
  • In debug mode one can create new entities on the fly 
  • New TBezierEnemy
  • Some services are preloaded as properties in TGameSprite
  • TGameSprite.GetCollisionData() does include himself as item
  • New THoming missiles 
  • New TRobot enemy
  • Edit window now shows a blinking cursor


BB)

  • Non cached surfaces are created in default pool
  • Surface hash is calculated when creating the texture so no lock is needed
  • Now when locking surfaces the read/write flags are used correspondingly
  • If collisions have no angle and no zoom, the fastest check is done
  • New TSimplePolygon, tailor made for direct3d buffers, now all sprites, primitives and particles are done using them
  • Now screen buffer management is more stable
  • Trying to avoid AddRef and Release methods for interfaces when possible
  • New TObjectEx.AsPointer()
  • Now TColony<T> deals with interfaces without AddRed/Release
  • New TColony<T>.Insert()
  • Maps iterates i, j rather that j, i (cache benefit)
  • New graphics buffer pool
  • TSprite.Timeout property removed, use AddTrigger() and Die() instead
  • Now maps pixel conversions are done with SHR/SHL rather than multiplying
  • Now spatial partitioning conversions are done with SHR/SHL rather than multiplying
  • Minor performance improvements in sprites 
  • SpriteLights are now also cached
  • New TRGB.NotEmpty()
  • New TVectorEx.NotEmpty()
  • Starting to use inline variables (Rio 10.3) as a performance optimizer (declaring managed variables after early exit or on certain conditions)
  • TOrthogonalCamera is back
  • Fixed some issues in the collision system
  • Fixed an issue when packing vars for hashing
  • New TAchievements.Behaviour property
  • Angle was not reversed when camera is available in collisions 
  • Now Screen.Fade() has a Z param