Saturday, March 11, 2017

HBF now in 64 bits!

I had a silly bug (typical one that works on WIN32 and does not in WIN64):

    FillChar(d3ddm, SizeOf(d3ddm), 0);  <-- this line didn't exists
    if Failed(FD3D.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, d3ddm)) then
      raise Exception.Create('Error retrieving display modes');

    FD3Dpp.BackBufferFormat := d3ddm.Format;

So now there is a 64 bits version, I guess only math is faster, but this would be only noticeable when lots of  particles are rendered, but let's see..

Found binaries at OneDrive

Anyway, I also was able to change the following:

HBF)
  • Now HBF also comes in 64 bits flavour
  • Now Diamond emits light
  • As usual some minor map changes...
  • Some new blurred backgrounds
  • ell/Boom/Chest/Fires/Lava/Mine/Planet are now glowed
  • Liquid splash is now done with particles
  • Enemies won't discover anything
  • New toxic particles
  • New excited particles
  • New particles when Hover is excited
  • Magnet also attracts Keys and Scepter
  • New sound failure.wav
  • Gatashi's laser when collides draw some particles
  • Now all mechanic enemies can be excited
  • Now when correcting gravities, moving platforms are take it into account
  • New worm, fits better in the game
  • New bell and shoes, more retro
  • Planet changed
  • Ice floor is now properly applied when gravity is up
  • Snowball now also stops fire
  • Static sprites do not longer correct gravity orientation
  • New warp based on particles
  • New spark based on particles
  • New Achievement "finish labyrinth blinded"
  • Main menu does some new effects
  • Ending now is a bit different (guess what!)

BB)
  • Multiplication texture error fixed (not happy about it)
  • Sprite hash for buffers now takes into account shadows
  • New concept TBufferHelper, in order to handle the buffer easier and avoid some double links
  • Removed effects and filters from surfaces (makes no sense, sprites dictate the behaviour)
  • Added surface filter to Materials
  • Fixed massive bug in Move32() POP ESI rather than POP EDI
  • D3D buffer preparation improved (VertexType is now precalculated)
  • Now TFloat is double when in 64 bits
  • New Particle emitter Movement type
  • Stream buffer when decompressing changed from 16kb to 64kb
  • Finally DirectX works in 64 bits
  • New TSurface.ExtractPoints()
  • New TParticles First()/Last()
  • Now particles are able to do formations based on a bitmap