Change Log

2.0.7

  • Fixed the gcc 3 compilation bug. Thanks to Nick Rusnov for the patch.
  • Added missing documentation to the distribution.
  • Build system improvements making easier to release.

2.0.5

  • Fixed a an alpha rendering bug that could occur in OpenGL mode (for Sprites with alpha-channels)
  • Changed the licensing of the utility package (only) to be zlib licensed.
  • Button improvements: buttons can now be drawn from 3 frame sprites. Thanks to Ariel Chai for the demo button.
  • Text field bevel can be turned off.
  • The sprite editor now remembers zoom and position settings for each state. Thanks for code from Eugen Treise.
  • Added missing Windows "guitest" build file.

2.0

  • API improvements, that can cause occasional compilation issues.
  • Rewrote widget interface and approach. Now a publisher / listener model.
  • GUI Widgets:
    • Button
    • Console Window (new version)
    • List box
    • Editable text
  • DAT files now use simple, lossless compression.
  • Improved rendering loop.
  • For windows, "no pointer aliasing" optimization is used in the painter routines. This nets about a 0-10% speedup in software mode.
  • Real time scaling for Tiles.
  • Improved memory utilization.
  • Improved Tile performance.
  • KrBox can be created without a KrBoxResource.

1.6.3

  • Minor bug fixes. Beta to Release.

1.6.2

  • Improved autotools support.
  • Minor bug fixes.

1.6.1

1.6.0

  • Collision Detection. Full support for the much requested pixel perfect collision testing.
  • Improved performance of the Tree() data structure.
  • Improved dirty rectangle management, especially for text.
  • Added hooks for arbitrary binary and text resources to be saved in the .dat file.

1.5.2

  • Fixed problems with the OpenGL switch in Unix makefiles.
  • Improved Windows build files.
  • Fixed resource leak on file loads.
  • Minor bug fixes.

1.5.1

  • Many Unix users are having difficulty with the OpenGL code. It can now be turned off -- see Build. It is off by default in Unix, on by default in Windows.
  • The Widget base class was added after working with the Arianne project: http://www.arianne.cx. It is a base class to support GUI extensions to Kyra.
  • The title screen was added to the demo.
  • The "api" section of the docs has been missing for some time. Added it back in, and moved it to the proper location as a subdirectory of "docs". The "api" link for the HTML web pages should now work
  • The KrConsole widget is now a proper KrWidget. In the past, it had a special lifecycle. Now it is created and added to the KrImageTree like any other object that is added to the Tree.
  • The encoder now takes the "-r" option, which inputs a text file containing a list of XML files to be processed. This helps manage "extreme" command lines, especially if you are using direct encoding.

1.5.0

  • Direct Encoding -- allowing images to be written to the .dat file without going through the Sprite Editor.
  • OpenGL accelleration. (See the engine page.)
  • Makefile improvements for Linux. Installs header and library files to standard location. Removed "makedepend" dependency in the Makefile.
  • Encoder improvements: friendlier, better error messages.
  • Added the GetBoundingBox() method to query the current bounds of a KrImage.

1.4.6

  • Fixed bug where encoder occasionally had memory overruns, and did not correctly handle names with too many dot separaters.
  • Added window message to the encoder to print out whether it is working or wating for user input.

1.4.5

  • Fixed bug where DoStep() did not always advance the frame properly.

1.4.4

  • Fixed some bugs in hit testing.
  • Minor API improvements.

1.4.3

  • Switch the binary builds over to just the demo mode; I doubt anyone is really interested in the other utilities so much as seeing a "quick preview" of Kyra.
  • The sprite editor can now be started full screen with the -f option.
  • Fixed the help page in the sprite editor to show the new commands.
  • Text boxes now have alignment: left, right, and center.

1.4.2

  • Bug fixes in the Sprite Editor. It should now correctly display your current mouse position (on the image, not the screen) and handle click and drag while in a zoomed view. Two commands have been added: 'fps' which sets the frames per second for movie playback, and "disperse" which spaces out a bunch of frames so they don't pile up in the initial alignment view.
  • Bug fixes in the Encoder. The encoder was failing to draw some large images when showing output as it encodes. This should be fixed.

1.4.0, 1.4.1

Engine Features

  • Real time and cached scaling. Sprites, Canvases, and Tiles can be stretched or shrunk by an arbitrary amount on either axis.
  • View windows. The screen can be split into virtual windows, each showing a different view of the tree. This allows for mini-maps, closeups, and alternate viewports.

Sprite Editor

  • Scaling integrated into the sprite editor. Zoom in or out while viewing, aligning, or testing Sprites.

Demos

  • A second BEM demo to test view windows and scaling.
  • Cached scaling introduced to Space tests.
  • Real time scaling tests introduced: Sinwave and Scale.

1.3

Engine Features

  • Added Text output, using both fixed and proportional font support.
  • Added the Box and BoxResource, for drawing lines, rectangles, and crosshairs in solid colors or patterns.
  • Added a hit test capability to fetch a list of objects at a pixel location.
  • KrImNodes now have a visibility property.
  • Added the ability to specify a color key by location in the bitmap as well as its color.
  • Fixed some bugs in the draw loop.
  • Faster memory management for RGBA runs.

Documentation

  • Added the tutorial.

Miscellaneous changes

  • The Sprite Editor has been re-written to use the Kyra engine. Its now faster and used to test the engine itself.
  • Introduced the GUI widgets with a console widget.
  • Improved the display of the encoder to illustrate the results of encoding.
  • Introduced utilities of isometric game math.

1.2.1

  • Fixed bug that prevented the sprite editor from saving new files.

1.2.0

  • Improved Linux make files.
  • Separated distributions for smaller downloads.
  • Integration with SDL 1.2, fix of alpha channel bugs.
  • Graphics modified for faster downloads.
  • Minor compression in the RLE files.
  • The encoder now graphically displays the files being processed.

1.0.1

  • Improved Linux make files.