Sunday, February 28, 2016

First entry of 2016, it was about time...

Two months without updating the blog does not mean not doing anything..., here we go!

Found binaries at OneDrive

BB)

  • New TSpriteEngine.SpritesAt<T: class>(const aRect: TRect; aCallback: TSpriteCallback<T>): boolean; very helpful
  • Removed speed stuff from Camera2D
  • New TDummySprite.IsEmpty() true when surface is not created yet
  • New collision method with callback for detailed info
  • Added some optimizations to the collision system
  • New camera.Lerp() and CameraHelper ideas
  • New property TDummySprite.TickCadency (tick and render calls can now be different)
  • New CameraLerp helper
  • New TCamera2D SetWindow() and InsideWindow(), useful for camera lerp 
  • Maps now can indicate a custom colorkey 
  • Tiles outside the camera view are also update (not rendered)
  • Laser now can have zoom
  • New property TSprite.AlphaSpeed 
  • When a sprite is attached to another one, horizontal and vertical speeds are set to zero
  • TBigFile file search functions improved
  • Now .ani files can setup the bounding boxes (rectangle for collisions)
  • New TSurface.SetBB() to manually define it
  • New TRGB.Blend()
  • TAnimationSprite refactored, it was quite a mess...
  • Fixed a bug when saving a layer with assigned colorkey 
  • Debug property removed from SpriteEngine  and Sprite 
  • TLayer, when map has no width or no height it does not do anything
  • 2d particle engine finished
  • New TSurface.Desintegrate()
  • New TSurface.CreateChannels()
  • Nasty bug where textures already freed were used in screen buffers
  • Now Rectangles can have an angle 
  • Now Shadow property is assigned only when Engine is assigned
  • Static sprites do not reach collision matrix
  • Collision grid can now be shared among different engines
  • If a leyer, if an animation has only one frame and cell tile has changed then animation is updated with the new info
  • Z selection bar from TMenu is now taken from Z Font 


HBF)

  • Heavy use of new function SpritesAt<T>()
  • Main menu is now easier to use
  • When beetle touches a mechanic enemy it changes its direction
  • Long silly bug, I was not counting rotating coins...
  • Music after pause could not be not recovered
  • Ticks also count when game is locked (not paused)
  • All screens can be skipped with jump Key
  • When game is paused messages cannot be skipped
  • Finally shadows are cast properly when no tiles behind
  • Coins and key info now is back to main game structure
  • Time achievement changed from 15 to 20 minutes
  • New concave collisions (experimental)
  • Fixed an issue with the collision of the balls
  • Improved triggering code
  • UFO has now a different texture
  • Side tiles do not cast shadows (avoids ugly shadows...)
  • When hero lands there is a quake 
  • New tiles arriving! :-) (big thanks goes to https://twitter.com/co_Opernicus/status/698463878703947776)
  • Quake new parameter Intensity
  • Gatashi laser now uses the zoom
  • Weird enemy now properly works at any speed 
  • New element fly 
  • Now arrows when hitting mechanic or indestructible entities it will fall like it does when hitting arrows
  • Now arrows get nailed to entities when they are hit (and normal)
  • Steps in catchers can now be configured
  • New TGameSprite.Ready() to make easy "one time" calls (executed after all published properties are parsed)
  • Post do not way for input
  • Web and wheel textures changed
  • Bubbles rotate a bit while moving up
  • Bomb texture changed
  • New enemy Fire Skeleton (testing it...)
  • Fixed an issue when on platform and gravity changes
  • New hero texture (experiment...)
  • Game does not longer needs file graphics.data
  • Now Horus looks different
  • The first level is no longer shown in the continue option menu
  • Foot steps on platforms and tiles is now calculated on the fly analyzing the bitmap
  • Weird texture looks different
  • New enemy rat
  • New enemy serpent
  • Now after a fight is win then hero gets immunity
  • Triggers can now make visible/invisible the layers and background
  • Door is got a starfield
  • Bubbles can catch mechanical enemies 
  • A level can have now many waterfalls
  • The music volume in the settings was ignored
  • When Gatashi throws its laser it creates a quake 
  • Gatashi stays one second without moving at the beginning of the level
  • Debug property added to TGameSprite 
  • Hero dies in a totally new way (I believe much cooler)
  • Hero dying code improved
  • New enemy Penguin 
  • Finally the game creates all entities via rtti and attributes (hooray!)
  • New element troya horse
  • Bat does not longer gets stick in walls
  • When hero lands on a platform the quake intensity depends on impulse
  • Now Gatashi also bleeds
  • Gravity can also affect pushable objects
  • Minor map changes
  • Doors can now be fake, beware!
  • Now ending is done in a proper way
  • Fixed an issue when in TSea splash was too heavy 
  • Scepter replaces book 
  • New blood textures
  • New enemy robot 
  • New element Rainbow 
  • Hud objects do not cast shadows
  • Some Z priorities changed
  • Fixed a bug with achievement "all runes"
  • New element Bell and achievement
  • When Gatashi heats an ice cube it changes to another tile
  • When HBF dies drowned particles are blue
  • Entities that emit light in darkness are properly tagged
  • Flash effect now takes a color as parameter
  • More background tiles
  • Focus can now point up and down 
  • Droid laser now also shakes
  • Lava kill spider web