Showing posts with label Framework. Show all posts
Showing posts with label Framework. Show all posts

Thursday, April 11, 2013

New HBF and BB versions, the big file version.

I've finally managed to put all data in the release version of HBF into one single compressed file (HBF.big), since many classes now incorporate the BigFile property.

BB framework and HBF are ready to be downloaded in the download section.

Other important changes are atmospheric effects, scanlines in order to simulate crt monitors and a brand new menu. Let's enumerate all the changes:

BB)
  • TSurfaceInfo removed, useless.
  • Some classes now inherit from TObjectEx rather than TComponentEx.
  • TFontEx does not longer inherit from TSpriteEngine but from TObjectEx.
  • TD3DDriver now calls Clear when trying to recover from lost operation, this fixes the weird errors when restoring the surfaces.
  • TAnimationSprite does not longer use a Pool but a dictionary for storing animations.
  • TPolygon does not longer use Pools.
  • TMaterial uses weak references.
  • Pool removed from TSpriteEngine.
  • TSpritePool removed.
  • TFontEx now has its own cache.
  • New TSurface.Lightning.
  • New BB.Debug unit.
  • Priority on maps removed since Z does the work.
  • TSpriteEngine now can load from TBigFile via BigFile property.
  • TMap and TLayer now can load from TBigFile via BigFile property.
  • Many classes with LoadFile() now get the filenames as parameter rather than properties.
  • Some little improvements in the TBigFile to make it more handy.
  • Some warnings removed.
  • FMod library is able to load from BigFile.
  • New BB.Screen.Menu menu class.
HFB)
  • New EffectDispatcher unit that can emit night, rain, snow, fog and darkness effects.
  • Thunder is shown when lightning.
  • New enemy demon.
  • New enemy fish.
  • Hero is also created in the sprite factory.
  • Memory issue when creating rotating platforms fixed.
  • New element trap door.
  • Map changes to include trap door.
  • New sound trap.
  • Fixed an issue with the RotatingDie option in birds, now set to False.
  • Scanlines added, they can be turned on/off in the .ini file.
  • Door is not longer an interface but a class.
  • HBF release mode is now able to load all files from the big file.
  • Music unit refactored.
  • Fixed some minor stuff when pausing and effects were executed.
  • When game finishes all sounds are stopped.
  • Constants renamed to GameTypes.
  • New default menu.
  • New setting class and file, all ini options moved.
Fog effect:

New menu:

Rain:

Night:

Snow:

 

Tuesday, January 22, 2013

New update for BB 1.5 and HBF

Here is the what's new:

Framework)

  • TLayer new method HasAttribute()
  • TGraphicDriver  new method Clear()
  • TGraphicDriver.Available() improved (still need to be improved)
  • New TSprite effect seInverse
  • In a layer the items now can have a priority
  • TLayer.Render() now calls UpdateCollider() (this is mandatory!)
  • New method TLayer.FindAttribute()
  • TSprite.SetIndex() does not longer calls UpdateCollider(), this should be a manual call (like in layer.render)
  • Layers in sprites are associate with a weak reference
  • TSimpleSprite.Assign() assign more variables...
  • In TSpriteEngine when the cache is clear, the related surfaces are destroyed
  • New method TLayer.SetView()
  • View in Layer is created by default not calculated all the time
  • TBackground now uses horizontal and vertical speed 
  • TBackground now has a new control to avoid infinite loops when width = 0
  • Button pressed in joystick fixed
  • Animations now can read ColorKey
  • Layer implement slopes
  • ISurface new GetCRC and RetrieveHeights
  • New AnimationType atRandom
  • Cache moved from TGraphicDriver to TSpriteEngine
  • New TSpriteEngine.GetSurface() method
  • New TLayer.GetCellsAt() method
  • New TSimpleSprite.SetFullBB() method
  • TSprite.SetIndex() now uses the engine cache
  • New ILayer.GetCellsAt()
  • TSpriteEngine now has a default Z to apply to related sprites 
  • TSpriteEngine now has a priority, so Z can be added or subtracted
  • TLayer set Z to TSpriteEngine when rendering an attached sprite engine 
  • The graphics engine now sorts the buffers per supplied Z (this helps a lots when rendering with ColorKeys)
  • TRenderBuffer and TBufferAttributes merged into one single class
  • In TLayer, Zoom property is spread across all items 
  • When a sprite is paused, the timeout is also paused
  • Remove GetSolid/SetSolid from sprites 
  • -Added the concept of vars (key/value) to sprites, so one can freely create variables with values and then get the values
  • Sprites now have the DeleteVar() / FindVar()
  • ISprite now declares GetAttachedSprite and SetAngleSpeed
  • New GetSpeedFromAngle() in BB.Math 
  • TSound
    • New class functions in order to retrieve min/max Volume/Panning 
    • Sounds now have DSBCAPS_CTRLVOLUME and DSBCAPS_CTRLPAN set by default
    • All calls to DirectSound now set the LastCode error

HBF)

  • New snow attribute, used in level 12
  • New animation when picking coins
  • SpawnAttributes() refactored
  • Some associations are done via TInterfaceHelper.WeakIntf() in order to avoid weird runtime errors
  • CalculateGravity() returns more info
  • Blob dies when lands on lava or water
  • Game.Clear() now calls more methods
  • Added more debug info
  • Fixed some weird collisions with hero and tiles at the top of the screen when there is also a tile underneath
  • Created a new attribute CHECKPOINT, so is easier to distinguish while coding the map start and the map checkpoints
  • New animation when collecting a coin
  • Game is able to detect the scroll direction via attributes
  • Fixed a 1 frame Layer.Y error
  • All maps now have the direction attributes set 
  • Spikes now set the sound according to position and distance
  • New class TSoundDispatcher, all samples are played via that class
  • Joystick support
  • Background now has a 0.25 horizontal speed
  • Background can be paused
  • Sound can be switch off via .ini
  • Fixed some weird top collisions 
  • Items (moving tiles) are treated as static tiles in order to avoid dead collisions
  • OnOff items can be paused
  • Minor map changes
  • New TSpike with volume and panning
  • Hero now has 3 lives
  • When all coins are collected, hero gains a new life
  • Walkside tapes implemented (ugly sprite)
  • Music can be toggle with F1
  • Sound can be toggle with F2
  • Hero now applies acceleration and friction properly
  • Some maps now have slopes
  • Hero interact properly with slopes
  • Collision left/right now return the X impact point
  • Collision lef/right now use the GetCellsAt method
  • All Sprite.Z now are set as constants
  • Ice is tested with both feet
  • Game.Run() cleaned
  • Climb ladders is working when the top exit is also a tile (LADDER_TOP)
  • New unit Constants
  • Added springs (level 12)
  • Use of new vars specially for items (solid, platform, spring, tape, etc), they are used as tags
  • Some methods renamed for better understanding
  • Block items can push us also from left/right
  • Creating items and breaking items now are returned immediately as Collision
  • Handling moving platforms now takes into account hero's vertical velocity
  • ITape removed
  • Extra jump has another sample
  • New unit star 
  • New checkpoint system (much easier)
  • New direction ball (experiment)
  • Now doors have to be opened with a key
  • Fixed again some hero collision issues
  • New unit and class checkpoint
  • New class TPickup root for items than can be picked up
  • New unit and class rays 
Basicly adding new features to the "game" and improving the engine.








Wednesday, July 25, 2012

BB framework 1.3c

 This update is mainly related with my game projects (which I will update soon)


-Sprites engines
  Fixed some ColorKey stuff
  Removed BB collections completely

-Maps
  Many little improvements
  Path issues fixed
  Map events give more flexibility to the listeners

-Sprites
  Fixed nasty collision bug via UpdateCollider()
  CRC in bitmaps
  Z sort (Colorkey surfaces cannot be sorted based on Z-buffer)
  Surface cache is now more accurate (thanks to CRC)
  New TFontEx methods

-Collisions
  Fixed some memory leak

-Input
  Modified the way KeyPress() works

-Editor
  Little improvements here and there

-Game
  New class TLevels to handle game levels

-Driver
  FPS stuff sleep is handled a bit different
  New delta info

Friday, April 20, 2012

New version of the framework BB 1.3b

 There is a new version of the BB framework, it is neede4d if you want to compile ChessKISS, HBF or any demo project.

What's new?

  • Colorkey issues fixed
  • Files handled correctly in maps when they are in different folders than main executable
  • Fixed really nasty collision bug via UpdateCollider()
  • Fixed some memory leaks
  • Swap the way KeyPress() is handled  in Input
  • Some bugs fixed
  • Some little improvements



Saturday, February 4, 2012

BB Framework

 I've also updated the framework to 1.2b  in order to be able to compile the project