Changelog for Photon
$Id: CHANGELOG.txt,v 1.15 2005/11/15 06:01:12 cozman Exp $
! : Major Changes (potentially breaking existing code)
+ : New Features
* : Minor Changes (bugfixes and behind-the-scenes changes)
0.1.0
! Changed createDisplay to use an enum to set fullscreen/windowed mode.
* Added first official tutorial.
* Converted text-file documentation to HTML documentation, allowing online
docs to more closely mirror offline docs in content.
* Major documentation sweep, much more useful for casual users. Also fixed
tons of documentation mismatches.
* Fixed bug where app would hang if run() was called with no active state or
before the display was created.
* Changed AudioCore to be pure virtual with OALAudioCore implementing it.
* Fixed issues with OpenAL 1.1 new types.
* Rewrote circle drawing code in Pen, major speed up.
0.0.2 - Released 2005-18-08
! Removed InputListener, opting to move features into State class.
! Dropped reliance on Kernel, and added main loop to Application, Kernel
access now available through Application's getUpdateKernel() and
getRenderKernel().
+ Code::Blocks and Dev-C++ support, also very shaky MSVC support
+ Addition of a State stack allowing for applications to fall back to the
previous state when done with a particular state.
+ Notification of mouse wheel events added.
+ Addition of a State test/example program.
+ Addition of Application::setFrameTimeSmoothing ability to set how elapsed
time is calculated. (actual/average currently supported).
+ Addition of fixed time stepping option in Application/State system.
+ Addition of code to allow control of depth testing via
Application::setDepthBufferParams
* Fixed X11 fullscreen mode
* Removed ALUT dependencies by adding custom WAV loading code
* Mouse move events now give relative position.
* Properly handle regain of focus, unpause Application's timer.
* Fixed several minor bugs. (random stack crash on exit, doc mismatch)
0.0.1 - Released 2005-08-08
+ State-based design that allows easy creation of applications by simply
deriving from a basic 'State' class.
+ Kernel/Task system allowing full control over game loop.
+ Extensive Log system that allows full control over logging including
various log levels and three built in forms of output, with the ability
to add custom output formats.
+ A wide variety of helper utilities for tasks such as filesystem
navigation, FileBuffer capable of reading from archives, random number
generation, versioning, and timing
+ Powerful input system allowing for direct access to keyboard/mouse status
or passive listeners which are notified of events when they occur.
+ Resource Management system including the ability to load resources from
specified directories or archives.
+ Variety of math classes including Circle, Rectangle, and Vector classes
convinient for game use
+ ConfigFile class for reading/writing INI-style files for game settings
+ OpenGL management including ability to set video mode, and easy management
of multiple viewports
+ Resource-managed Texture class allowing for loading of textures for use in
OpenGL
+ Image class that extends Texture class, allowing for hardware accellerated
drawing, rotation, scaling, and blending of images for use in 2D
environments
+ Resource-managed Font class allowing for the rendering of text using
TrueType fonts
+ Primitive-drawing ‘Pen’ class allowing for drawing of various geometric
shapes, lines, and vectors.
+ OpenAL based sound system*
+ Entire library is built in a highly-modular fashion with extensibility in
mind. Use of modern programming techniques like templates and exceptions
contributes to ease of use and ease of development.
+ 12 demo programs showing features and ease of use of various components.