What's New in Version 0.21b
-
Loading bitmaps can now use 24 bit BMP files (not converted) and it works
directly from the stream.
-
3D Mesh can have a texture per material.
-
3D Mesh inherits its 3D World orientation methods from Transformable.
-
3D Rendering surface can be cleared to any color for background.
Corrected Bugs
bug causing systems without any 3D hardware to fail initialization of the
3D subsystem.
The fix for that includes allowing using 2D acceleration with NoAccel=0,
and having 3D fall back to software.
Creating bitmaps wider than the screen with NoAccel=0 crashes the program.
.X files are now loaded more correctly.
Frame time mechanizm fixed for Alt-Tab situations.
What's New in Version 0.20b
This is a major release, with so many things changed, that it's almost
like a new package.
Most of the code written for it is compatible, but some changes have
to be made.
-
DLL Interface was changed from exported classes to abstract classes with
creation functions. Check section
10 of the manual for details.
-
Some name changes: Object3D -> Mesh World3DObject
-> Object3D
-
Added access to the internal structures:
-
Drawable's device context for GDI drawing.
-
Drawable's DirectDraw surface for creating special effects.
-
Direct3D device for creating 3D special effects.
-
Calculation of the fraction which represents frame advances is now embedded
in the DLL.
-
Math3D, a new header file containing everything needed to write vector
computations.
-
A new rawCopy was added to Drawable to allow a faster, no clipping, blit.
-
setVolume is available for each sound buffer.
-
3D Parameters of a sound buffer can be changed.
-
streamWaveFile was added to play a large wave file (not a clip)
-
Added diagnostics to check interface allocation memory leaks.
-
Added a default resource stream to allow using it without passing a stream
as a variable.
-
Added a getConsole function to get the console pointer from anywhere.
-
Creating a new interface (Bitmap, SoundClip, etc.) doesn't require pointer
to screen or sound.
-
Scale, Rotate (any angle) of bitmaps, using hardware if available, or software
if not.
-
Added possibility to change transparency feature in every bitmap.
-
Added override for transparency in the copy methods.
-
Added support for billboards in 3D.
-
Lots of improvements of internal code.
What's New in Version 0.13b
-
Changed interface to polygon normal calculation to fit the standard interface
as in polygon reduction.
-
Added control over position of bitmaps (Video or System memory)
-
Added a global function CON_Reactivated that can be called to detect
reactivation of the application. This is useful, since video memory bitmaps
lose their contents if the application is reactivated.
-
Added an optimization on direct buffer access for Drawable objects.
A lookup table of the line addresses can be calculated upon locking
the object, and is useful if more than a few drawings will be made.
-
Added a method to get the current transparent color of a Drawable object.
-
Added integrated compression of resources. Compression is activated by
calling setCompression before putting in resources. Decompression
is automatic, if necessary.
-
Added option to let a sound clip continue until completion detached from
any object.
-
Added method to query if a sound is playing. isPlaying
-
Setting a bitmap to the mouse pointer does not release this bitmap automatically,
but rather copies its contents. The user must delete the bitmap after setting
the pointer manually.
-
Due to added features, resource files created using previous versions must
be recreated.
Corrected Bugs
-
When full screen program terminates, the task bar is not restored to normal.
-
Textures appear incorrectly when using no acceleration.
-
Mouse pointer is not released. Harmless, but still.
-
Copying a bitmap using a copy constructor doesn't copy bitmap contents
correctly.
Also, it doesn't set the transparent color correctly.
-
Reactivation was not handled correctly. (i.e. Alt-Tab handling)
-
Clearing a drawable ignores the clipping restrictions
-
Copying using copy missed the last line and column of the copy.
-
Cards with pixel format of 1555 had dim outputs due to alpha=0
-
Back buffer wasn't destroyed on exiting windowed application. (Harmless,
but yet)
-
.X file loader had problems loading objects built from several meshes,
placed using frame matrix
What's New in Version 0.12b
-
Libraries and Source Code for World Management have been released.
-
Utility library for iostream filters has been released.
It includes compression and encryption.
-
The 3D modeler has lots of new features.
It can now import from .X .3DS .3D2 files.
Other features are described below.
-
3D Model allows exporting its internal data (Vertices, Indices, Materials)
-
An automated normal calculation for 3D models that have no normal information.
This is supported in the 3D Modeler to allow offline fixing of models.
-
A polygon reduction algorithm to create different levels of detail.
This is supported in the 3D Modeler to allow offline LOD creation.
-
A new abstract ProgressMonitor class has been added to allow monitoring
of offline algorithms that take a while.
-
A Streaming audio class has been added. It gets its data from a generic
binary istream object.
Corrected Bugs
-
The clear method was removed from Bitmap, giving way to its inherited clear
from Drawable.
-
Removed dependance on libDS in both ResourceStream and TextureCache.
This changed the name parameter in some functions from String to char*
-
ResourceStream now returns NULL on file not found, instead of stream of
an empty file.
Whats New in Version 0.11b
-
The initConsole function, now returns int, which is zero for ok, and non-zero
to terminate.
-
loadXFile now expects a TextureCache object (which can be NULL)
-
A new manual was added to help learn the usage
of the library.
-
Loading .WAV files, directly.
-
Although texture mapping was supported internally, now the API is ready
for it.
-
New bitmap copy interface, to allow any kind of copy (source, destination
and size)
-
Ambient Light can now be changed too.
-
Version can be retrieved by calling the static Console::getVersion()
-
Bitmap transparent color can be changed from its default.
-
RGB color/format operations were moved to drawable, and are available for
bitmap as well.
-
Mouse pointer can be set to any bitmap.
-
ResourceStream supports using direct disk files (for development process)
-
Control of whether a sound buffer is for 3D or not.
Corrected Bugs
-
Bitmap copy from the screen was fixed.
-
loadXFile now supports .X files provided with the DirectX SDK, which have
some quirks in them (Multiple Meshes, Non-Triangle Polygons, Insufficient
Material Data)