Change Log

2.1.2

  • Fixed a bug in the Rectangle class that caused the SpriteEditor to drag incorrectly
  • Updated the documentation to reflect the current build system.

2.1.1

  • Added isogen
  • Standard make system, now works on mingw and linux (and MacX, but there are Kyra bugs on Mac)
  • Simplified build
  • Improvements in the grinning lizard utilities and tinyxml

2.1.0

  • Tim at "Evil Genius Games" subbmitted a huge, and great, patch with fixes,
    improvements, and Darwin code resulting form using Kyra in "Rise of the
    Nile". Nice patch; lots of good stuff.
  • At first, coverted GUI widgets to use 'siglot' rather than inherit and modify.
    After using it a while, I decided this had as many problems as benefits; switched
    back to the old HandleEvent system, except this time using KrWidgetEvent to
    mimic the SDL system rather than many confusing parameters. This seems to be a much
    better system with less change to the code.
  • Switched Encoder over to console application. It will now run in text mode,
    but create BMP files that can be used to verify that the graphics were
    created correctly. This is both easier for the developer, and allows the
    encoder to be shipped to create mods.
  • Removed console.cpp/.h from encoder.
  • Removed "odd" TinyXml (1.x) version and converted to current shipping TinyXml (2.3)
  • Added x, y, width, height support to "Image" and "Direct"
  • Re-structured the gui test to be simpler. Cleaned up widget code.
  • Toggle buttons will now automatically group with their siblings.
  • Removed GlDynArray and replaced it with std::vector. In 1999, there may have been
    reasons to not use std::vector...but not now.
  • Pulled out grinning lizard utilities to namespace "grinliz"Changed
  • GLOUTPUT to guarentee to be removed in release builds. Syntax now requires
    double parens: GLOUTPUT(( "Hello World" ));
  • Remove run time link to SDL_Image. It is now dynamically loaded.
  • Cleaned up the demos and upped the frame rate, to resolve general confusion that Kyra
    is "slow" because the demo is at a low frame rate.
  • Changed the license to LGPL
  • Removed the built in Splash Screen but added splash assets to the root directory.
  • The tutorials are now generated from tutorialMaster (the same system Lilith3D uses)

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.