plib/ChangeLog

1103 lines
34 KiB
Plaintext
Raw Permalink Normal View History

PLIB Change Log.
================
PLIB v1.8.5 (Oct 2006)
~~~~~~~~~~~~~~~~~~~~~~
* removed several widgets from pui/, which were declared
obsolete since a long time. Most of them are now available
in puAux/
* several fixes and improvements to puAuxList
* puInputText scrolling fixed.
* Improved DirectX loader.
* Check ownership before deleting in ssgSimpleList.
* Fixed netSocket.
* Fixed mem leak in ssgVertSplitter.
* Fixed pw window sizes on win32.
* Added pview ssg-example.
* Fix clock delta in first call.
* Made colour of listbox changable.
* Fixed text with negative coordinates
* Fixed misc bugs in puAuxLargeInput
* Allow the user to activate a widget with custom mouse button.
* Made material loading from wavefront models more robust.
* Handle linux joysticks with a lot of axes.
* Avoid specular anomalies in 3ds files.
* Added a demo for ssgaShapes.
* Fixed the diameter of ssgaSphere.
* Fixed inability to add colour to the ssgaTeapot.
* Remove scale dep in ssgaFire
PLIB v1.8.4 (Jan 2005)
~~~~~~~~~~~~~~~~~
* Added a way to get SSG intersection tests to work with
backfacing polygons.
* Added ssgaScreenDepthDump into ssgAux.
* Several fixes for FreeBSD included.
* Added exporter for OpenInventor.
* Implemented im- and exporter for ASC files.
* Optimisations.
* Various (minor) improvements to ASE, MDL, PCX and X loading and ASE saving.
* Implemented ssgAnimTransforms.
* AC loader now reads "crease" lines and creates much smaller and
cleaner scene graphs.
* Joystick code adapted to current OS versions (especially Linux).
PLIB v1.8.3 (April 8th 2004)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* NET now allows a NULL argument to netSocket::accept
* Added #include <stdio.h> to all top level header files
in order to ensure that NULL is defined.
* Added ssgaScreenDump into ssgAux.dsp
* Cleaned up some warnings from MSVC.
* Added Christos Dimitrakakis' fixes to SL to prevent
crackling in certain envelope conditions.
* Added pwAutoRepeatKey to control keyboard auto-repeat.
* Fixed a horrific bug in the sgDistToLineSegment routines.
PLIB v1.8.2 (March 26th 2004)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* PW now runs on Mac and MacOSX.
* Uppercase keystrokes now work in PW for Windows.
* Version number in ul.h now set correctly.
* Package now builds correctly under MSVC.
PLIB v1.8.1 (March 21th 2004)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* puAux library wouldn't build without GLUT being
installed...that's fixed.
* the NET library examples needed some love and
attention. They are much more useful now!
PLIB v1.8.0 (March 19th 2004)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* puAux library added to provide a place for the
more obscure PUI widgets.
* PW (PLIB Windowing) library added to provide a
built-in alternative to windowing libraries such
as GLUT and SDL. Applications that only need a
single window, mouse and keyboard (and no other
features of GLUT) can now have no dependencies
whatever outside of PLIB and OpenGL.
* PLIB is now completely independent of GLUT. You
can even build it without GLUT being installed.
Modules to allow PUI to work with GLUT, freeglut,
SDL, FLTK and our own PW windowing library are
provided.
* ssgAux now includes a relatively simple sky model
kindly donated by the SimGear project. Now you
can have sun, moon, stars and clouds with just
a handful of function calls.
* PSL - a C-like interpreted scripting language
is now bundled into PLIB. It's a byte-code
interpreter - and it has some useful properties
for games and other interactive packages in
that it allows the application much finer control
over the running of the script(s) than traditional
scripting engines.
* In the demos area, we added the 'simon' package
which provides a simple framework for PSL scripts
to be loaded - and they may in turn load 3D models,
move them around, etc. Astropong.psl (a simple 3D
'Pong' game in PSL) is provided as a demo.
And of course, many bugs have been slain and numerous
other smaller features have been added.
PLIB v1.6.0 (Sept 2nd 2002)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's been over a year since the last PLIB release
and we have been somewhat lax about maintaining a
list of changes.
Some highlights are:
* Significant improvements and cleanup throughout PLIB,
especially in PUI.
* ssgAux library added - includes handy classes for
more sophisticated effects layered on top of SSG.
+ Standard shapes like cubes, spheres,
cylinders and teapots.
+ Water waves.
+ Fire.
+ Particle Systems
+ Lens Flare.
* More example programs.
* P-Guide GUI builder for PUI.
* JS promoted to a full library.
PLIB v1.5.1 (July 21st 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added ssgTween and ssgTweenController
* Added puFileSelector - henceforth puFilePicker is deprecated.
* Added ulList
* Added VRML loader (this one works!)
* Numerous bug fixes in other loaders.
* Added TopHat support to JS
* Added support for >3 simultaneous sounds in SL.
(You have to explicitly enable that though - it's not
the default)
* Fixed bugs in util's directory handling.
* puInput and puListBox now cope better with text that
is too big for the widget
* puListBox (and hence puFileSelector and puFilePicker)
works with both large and small font sizes.
* puDial changed to be derived from puSlider - many
consequences of that change will be visible in the
application. (eg output range is 0..1 and not 0..360)
* PUI widgets are now 'sticky' so that if you are
dragging a slider along a puSlider and your mouse
slips off the edge of it, it'll still have "focus".
* Added sgLerpAnglesVec3 to linearly interpolate
angles allowing for the nasty wrap-around-360
problem.
* Added sgLineSegment3ToLine3, sgDistSquaredToLineVec3
sgDistSquaredToLineSegmentVec3, sgDistToLineVec3 and
sgDistToLineSegmentVec3. Also sgLine3 and sgLineSegment3
structures.
* Added a 'Gallery' page to the documentation to show
potential developers the range of applications that use
PLIB - and also to promote things our developers have done.
To save download time and CVS space, the actual images
are not in the PLIB tarball.
PLIB v1.4.2 (July 21st 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Changes in NET to allow compilation under RedHat 7.1
* Fixed a small bug in ssgaSphere
* Fixes a small bug in puFilePicker
PLIB v1.4.1 (June 25th 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Converted MSVC project files to 'BINARY' in the CVS archive
because some versions of MSVC don't line UNIX-style line endings.
* Many improvements and bug fixes to puFileSelector and puListBox.
* Minor fix to NET to accomodate Solaris users.
* Fixed puMenuBar so it highlights as you drag the mouse across it.
* Fixed ulOpenDir so it returns NULL on error on non-MSVC systems
* Changed colour of text on buttons in documentation to make them
easier to read by colour-blind users.
PLIB v1.5.0 (June 20th 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Just a 'place holder' - actually identical to 1.4.0.
PLIB v1.4.0 (June 20th 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed example programs so they don't use the obsolete _SSG_TYPE
tags.
* Removed multiplie <HEAD> tags on web pages.
* Updated 'AUTHORS' file.
* Added 'demos' to the CVS repository.
PLIB v1.3.3 (June 18th 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Various warnings cleaned up under MSVC.
* Fixed function prototypes for the Quaternion functions in SG
* Fixed bug in sgEulerToQuat where the angles were not being
converted from degrees to radians.
* Changed PUI to make sliders and dial widgets grab a hold
of the mouse focus and not release it until the button is
released. This is a subtle but important behavioural change.
* puDial's are now derived from puSlider's - one side-effect of
that is that they now return 0..1 rather than 0..360 and no
longer support the maximum and minimum range functions.
PLIB v1.3.2 (June 13th 2001)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* This CHANGES file has regrettably not been well maintained,
hence there a numerous changes not listed here.
* File loaders now require app to pass 'ssgLoaderOptions'
rather than other ad-hoc callback function hooks.
* Added Active Widget Implementation (pui)
* Added puFilePicker
* Added Ref Counting to ssgState
* Added puBiSlider and puTriSlider
* Added some missing 'AUTHORS' entries.
* puDial widget (was actually in 1.3.1 but got
missed in the 'CHANGES' file)
* Fixed a problem in the configure.in that prevented
ssgAux from building.
* Moved the 'name' and 'user_data' (with associated
set/get member functions) from ssgEntity down into
ssgBase so that these functions will work with ssgState
and ssgTexture objects. This is needed for PrettyPoly.
PLIB v1.3.1 (Sept 15th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Changed License conditions to specifically permit
use of PLIB outside of LGPL for embedded applications.
* There is now a task and bug tracking system for PLIB
on Sourceforge.
* Configuration/Install tool changed to support CygWin
better than in the past.
* PLIB examples' data files consolidated into a single
'examples/data' directory.
* PLIB's documentation is now under CVS.
* Added 'SSGAUX' library - include <plib/ssgAux.h>
and link to /usr/lib/libplibssgaux.a
* Aux library has 'ssga' classes to add high level
shapes such as cylinders, cubes and spheres (two
different kinds).
* Lots of new example programs.
+ New PUI 'complex' uses multiple windows.
+ Cute 'waving flag' demo
+ Working Quaternions versus Eulers demo
+ Model viewer (this is actually a useful
program - as well as a demo).
* More const-correctness throughout library.
* OPTIONAL support for PNG image loading (you have
to compile PLIB specially to get this because it
introduces an additional dependancy).
* PLIB now checks that a valid OpenGL rendering
context exists when the various ssgInit/puInit/etc
routines are called.
* PUI hasi:
+ better support for multiple windows,
+ a new function to allow the deletion of an object
within one of it's own callbacks.
+ the ability to operate in a separate OpenGL
coordinate space.
+ puFilePicker and puListBox
+ enhancements to puSlider
* SL has a completely new audio driver for SGI's IRIX.
Unfortunately, we don't think it fixes the long-standing
timing problems for audio under IRIX.
* SSG's ssgVtxArray and ssgIndexArray now use 'short's for
indices - which is more efficient on most OpenGL's.
* Several bugs fixed in SSG - also some changes to make it
more suited to embedded use in game consoles and such.
* Many improvements to SSG's post-processing tools that are
typically applied to scene graph fragments after loading
from disk.
* SSG now permits you to disable MIPmapping for selected
textures.
* SSG's print() functions now work for more classes and
produce more useful output.
* Code for ssgVtxArray streamlined.
* Added a 'Lookat' function for SSG's camera model.
* ssgSelectors can now have more than 32 kids.
* ssgContext had incorrect defaults for the camera
orientation.
* Some loaders were not sharing ssgState's between
polygons - that's fixed.
* 3DS loader has had numerous improvements...but the
limitations of this format are becoming evident.
* All error/warning handling is now done through a
centralized handler that can be redirected (eg to
send errors to a popup window or something)
* Some bugs fixed in ASE loader. It now uses
ssgVtxArray primitives.
* Added a loader for the Quake 'MD2' format. It
seems to work amazingly well.
* Added 'UL' library. Applications MUST link to
-lplibul (/usr/lib/libplibul.a) - and should
include <plib/ul.h> and call ulInit() before
making UL calls.
If you use automake/autoconf, then it's easy
to make applications that will compile and link
under both PLIB 1.2 and 1.3/1.4, just add this:
AC_CHECK_LIB(plibul, ulInit,,,)
libplibul currently contains:
+ Fast, portable clock/timer routines.
+ Low level networking code.
+ Some directory searching routines.
* Documents and Examples are now under CVS.
* Added Tools and Auxlibs folders for future
work.
PLIB v1.3.0 (July 1st 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unstable version of 1.2.0, no significant code
changes.
PLIB v1.2.0 (July 1st 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Stable version of 1.1.12, no significant code
changes.
PLIB v1.1.12 (June 24th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed some compilation problems for Macintosh/Codewarrior
which treats 'xor' and 'or' as reserved words!! Yikes!
Thanks to Darrell Walisser for that piece of nasty news.
* Fixed some problems in slMODinst.cxx that were causing
compilation warnings under windoze (thanks to Bram Stolk)
* Changed SL to open audio devices with O_NONBLOCK -
thanks to Trent Gamblin for spotting this one.
* Added configure.in check for libdl to cover bug in ld.so
under Linux. Application programs under Linux need to
link to libdl.so in order to work around this.
Ben Woodhead <zander@isn.net> added this.
* Added Borland project files, thanks to Dave Heil for
contributing these.
* Swapped order of multiplication in sgMultMat4. Thanks to
Lucas Ackerman for spotting this one.
* Added a unique ID field to every node in the scene graph.
This helps out some picking algorithms in PPE.
* Added some more ifdefs to make PLIB Audio/JS components
to make them work under NetBSD. (They already work with
FreeBSD and OpenBSD). Many thanks to Rene Hexel!
* Fixed a ref() problem with ssgVtxTable::clone - thanks
to Will Weisser for catching that one!
* Added checks to ensure that a valid OpenGL rendering
context exists before ssgInit/puiInit/fnt-loaders are
called.
* Added Dave McClurg's ASE loader and matching writer.
If you use the new 'ssgLoad()/ssgSave()' functions,
it'll "just work" - if you prefer you can call
ssgLoadASE/ssgSaveASE analogously to all the other
loaders.
* Several fixes to the quaternion code in SG were
contributed by "Negative0" <negative0@earthlink.net>
(Who was that masked man?)
PLIB v1.1.11 (Feb 9th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed a tiny problem with double-sided polygons.
PLIB v1.1.10 (Feb 9th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added ssgLoad and ssgSave that look at the
filename extension and call the appropriate
lower level load/save routine.
* Added a 'clone' function for all SSG classes.
* PLIB now managed under CVS at SourceForge.
http://sourceforge.net/project/?group_id=382
* Added a collection of line/plane, plane/plane
and line/line intersection routines to SG.
Thanks to Norman Vine for most of them.
* Fixed a bug in SSG file loader that would
prevent recognition of obsolete SSG file
types.
PLIB v1.1.9 (Jan 28th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed bug that caused the ref counts of the
various vertex arrays in an ssgVtxTable to
be incorrectly set to zero when that VtxTable
is loaded from an '.ssg' format file.
This tended to crash SSG with an assertion
failure whenever you deleted an object
loaded from a '.ssg' file.
* Added the current texture map filename to
ssgSimpleState and ssgStateSelector - which
means that...
* The SSG file format finally works correctly.
Note that any SSG files you might have created
before this release won't work anymore...but
then they didn't work correctly before.
PLIB v1.1.8 (Jan 23rd 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added ssgContext. This makes it a lot easier
to write programs that need to render multiple
eyepoints in quick succession.
* Added functionality to ssgVtxTable to enable
applications to construct a vertex table and
then add the vertex arrays instead of doing
it all in one step.
PLIB v1.1.7 (Jan 20th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Ooops! 1.1.6 accidentally went out set up to
REQUIRE the 'freeglut' library instead of the
original GLUT. That's fixed now - it'll pick
up on whichever you have installed and use
freeglut if you have both. (This only really
selects which header PLIB will use - you can
still link your application against either
GLUT)
freeglut is here:
http://freeglut.sourceforge.net
PLIB v1.1.6 (Jan 19th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Changed ssgSaveSSG and ssgSaveAC to return
TRUE on success, FALSE otherwise. Neither
function is really working well enough for
'primetime' use.
* Added an optimisation to sgInvertMat4 (thanks
to Norman Vine).
* Changed all Makefile.am's to refer to top_srcdir
rather than top_builddir - I have no idea why that
matters - but Steve Lamont <spl@szechuan.ucsd.edu>
says it matters - so I fixed it!
* Fixed a bug in PUI's default colour scheme picker
that caused text on dark coloured backgrounds to
be black instead of white.
PLIB v1.1.5 (Dec 20th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Optimised sgMakeNormal (thanks to Klaus Hartmann!)
* Added 'Orthographic' rendering modes to SSG...this
is a work in progress - so no documentation yet - sorry!
PLIB v1.1.4 (Dec 3rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Moved pre- and post-draw callbacks from ssgLeaf
to all ssgEntities.
* Changed user-data - all userdata must be derived
from ssgBase so that it can be ref-counted and
automatically deleted when no longer referenced.
* Added some specialised highlighting code for
the PPE tool.
PLIB v1.1.3 (Nov 28th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added some missing 'get' functions to SSG.
* Added a way to load the current view frustum
and modelview matrices into OpenGL.
* Removed dependancy of SSG on GLUT.
* Added ssgVtxTable - which will ultimately
replace ssgVTable. The main difference is
that ssgVtxTables don't support indexing and
add reference counted vertex data tables.
* ssgLoadAC changed to use the new ssgVtxTable.
* Added pre- and post-draw callbacks to ssgLeaf.
PLIB v1.1.2 (Nov 8th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed double declaration of sgdTransposeNegateMat4
that prevented SG from compiling under Windoze.
* Split examples and documentation off into a
separate tarball.
PLIB v1.1.1 (Nov 6th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added routines to SG to interconvert sgd and sg
data types.
* Matrix inversion routines added to SG.
* Attempt to work around possible compiler
error in ssgLoad3Ds - this shows up in some
versions of CygWin under Windoze and exhibits
itself as an out-of-memory error when loading
3DStudio models.
PLIB v1.1.0 (Oct 29th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* This is actually identical to 1.0.20 except
that it installs its headers in /usr/include/plib
and its libraries in /usr/lib. To avoid name-space
pollution in /usr/lib, the libraries are renamed
as follows:
libssg.a --> libplibssg.a
libsg.a --> libplibsg.a
libfnt.a --> libplibfnt.a
...you get the idea I'm sure.
* With this release, I'm going to the even-number-stable,
odd-number-experimental numbering scheme. Hence,
I'll be adding bug fixes only to the 1.0.xx series.
When 1.1.xx has been enhanced - and is again stable,
it'll become 1.2.0 and 1.3.0 will be the experimental
version.
PLIB v1.0.20 (Oct 29th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed problem with memory leakage in SSG, the
ref count of branch nodes was including the
parent nodes as well as the children. Revised
instructions on deleting nodes added to manual.
* Added sgDistanceSquaredVec2/3/4 to SG. (Christian
Mayer asked *so* nicely).
* Added Per Liedman's latest 3D studio file loader.
This is a truly awesomely useful thing. Thanks Per!
* This will be the last version to install in
/usr/local/plib.
PLIB v1.0.19 (Oct 16th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added bunches of missing 'const' directives to SG and
parts of SSG. Thanks to Christian Mayer for this one.
* Fixed a bug in FNT that should allow more than two
lines of text to be output with a single call to
puFont::drawString. Thanks to Sylvan Clebsch for this one.
* Added a 'saturation' limit to js.h - intended for those
joysticks that don't generate a full range of output.
Thanks again to Sylvan Clebsch!
* Keiji Kato provided a patch to SL for the Windoze
platform that fixes some kind of a slowdown problem
when playing sounds on WinNT-4 machines.
PLIB v1.0.18 (Oct 3rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Removed GIF files from all the Web pages. Rassin-frassin
Unisys...grumble >:-(
* Fixed a problem that caused too many joystick axes to be
reported by JS. Thanks to Paolo Leoncini - good catch!
* Added new Quaternion interpolation routines and reduced
complexity of quaternion multiplication routines. Thanks
to Sylvan Clebsch.
* ssgEntity (and hence most SSG classes) didn't make a copy
of strings passed to setName() - hence there was a tendancy
to leak name memory as objects were deleted. That's fixed
but be aware that 'name' is now copied.
* As requested by Christian Mayer, sgAddScaleVec functions
have been added into SG.
* Fixed up some compilation warnings in ssgStateSelector.cxx,
fnt.cxx and ssgSaveAC.cxx. (Thanks to Sylvan Clebsch for those)
* Fixed a potential problem in ssgModelPath/ssgTexturePath that
would blow up if you ever passed a local string variable to
them. Be sure not to call either function before ssgInit() - OK!
PLIB v1.0.17 (Aug 23rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added new ssgState derivitive "ssgStateSelector".
Check out SSG documents for details.
* Stopped warning about unused variable 'ww' in FNT and SSG.
* Fixed bug in puValue::setValue(char*) that prevented empty
strings from changing the current string state for the puValue.
(Thanks to Sylvan Clebsch for finding that one)
* Removed the 'test' program for PUI (it was never meant to
be in the release).
* Added error return to Font loaders (Thanks to Norman Vine).
PLIB v1.0.16 (Aug 13th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed compiler warning in slMODfile.cxx
* Fixed a bunch of compile errors in slScheduler.cxx due to
some default arguments that got left in place by mistake.
PLIB v1.0.15 (Aug 12th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Minor fix to SL to make it compile under CygWin.
Thanks to Norman Vine for that one.
* MacOS port of SL is now complete! Many thanks to
Darrell Walisser <dwaliss1@purdue.edu>
* Fixed a problem with const correctness when compiling with
gcc 2.95.
* Moved a lot of SL functions from inline to non-inline...
they had grown over time from one liners into 10 liners.
* In SM, changed 'not_working' to 'notWorking' to make it
look more like SL.
* Fixed bug that caused SL to crash if you played MOD music
without a sound card (Thanks to Daryll Strauss for finding
that one).
* Fixed bug in puButton constructor that makes menus come
out with irregular height.
* Fixed recurrent crashing problem with the PUI 'complex'
demo program.
PLIB v1.0.14 (Aug 4th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* The use of PROXY textures seems to break both nVidia and G200
Mesa ports for Linux - so I have temporarily commented out
that code. If you need it, find the code in src/ssg/ssgImageLoader.cxx
and src/fnt/fntTXF.cxx and re-instate the code that's ifdef'ed out
using #ifdef PROXY_TEXTURES_ARE_NOT_BROKEN
* Significant fixes to SL to make it work with /dev/audio under
SOLARIS. Thanks to Steve Brown for his patch.
* Somehow the FNT documentation became corrupted in 1.0.13,
it's fixed now though.
* FNT and PUI now allow '\n' characters inside strings to
signify carriage-return + line-feed. Thanks to Shane Arnott
for this one.
* Added parameters to FNT routines to allow the application
to pick which OpenGL texture filtering to apply.
* Fixed some minor name-space pollution in PUI.
* Fixed a bug in ssgBaseTransform that causes ssgGetLastTransform
to mess up on the first call.
* Fixed a bug in measuring the bounding box of text containing
space characters in the FNT component. Thanks to Alexander A.
Babichev for this one.
* Lots of minor syntax changes for MSVC,
PLIB v1.0.13 (July 8th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Included a JS patch from Karl Heinz Kremer <khk@khk.net> that
adds support for the latest Linux joystick driver. For those
who have the latest driver, this will increase the number of
joystick axes from 2 to 6.Beware though that the detection of
which kind of driver is present is currently done at compile
time which could be a problem for binary distributed code.
* Added a simple terrain demo (examples/ssg/majik)- originally
put together to give the good people in the Majik group
something to play with.
Check out *their* good stuff at: http://majik.netti.fi
* Improved state handling in SSG. Also added ssgForceBasicState().
* JS library should work with FreeBSD. (Thanks to Stephen Montgomery-Smith)
* Texture loaders in SSG and FNT changed to use GL_PROXY texture
tests instead of being hard-coded to crappy 256x256 limits.
* Since puiAlone is sadly outdated, I have ceased to distribute it.
If you need it, the last version is with plib-1.0.12 on the PLIB
homepage.
* Changed definition of SG_PI to be a 'float', fixed the precision
of SGD_PI to be double.
* Removed strncasecmp - because it's not universally implemented.
* Changed an ifdef in SL to allow it to compile under FreeBSD.
* Added an 'puArrowButton' call - just like a puButton - but
shaped like an arrow.
* Added an 'ssgGetVersion' call.
* Deleted ssgAnimation class (it was never completely
implemented anyway).
* Added ssgTimedSelector (which takes over the functions
I'd planned to add to ssgAnimation).
* I didn't rename the file ssgAnimation.cxx to ssgTimedSelector.cxx
because I couldn't stand to change all the MSVC project thingies.
* Numerous fixes for the Mac:
* Fixed a byte-swapping problem with the BMP
texture loader.
* Changed some arrays from local to 'new/delete' because
the Mac CodeWarrior compiler can't cope with more than
32Kb of local memory in a single function or class.
* Provided conditional compilation for Mac file naming
conventions in a couple of places. It's not enough though.
PLIB v1.0.12 (June 3rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added a set of MSVC project files.
* More portability issues resolved.
* Lots more actually.
* Official Acronym "IBFITNR" (It'll Be Fixed In The Next Release)
now adopted.
PLIB v1.0.11 (May 30th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed a problem with LoadAC creating 2-point tstrips.
* Fixed an assert in SSG's deRef.
* The tables inside an ssgVTable are now 'protected' rather
than 'private'.
* Added new code to slScheduler to allow applications to
replay MOD files.
* Reorganized slSamplePlayer to be derived from a new
abstract base class slPlayer. Added new private class
slMODPlayer for replaying MOD files.
* Added a demo program for the new SL MOD player.
* Added ssgRangeSelector class to allow level-of-detail
management. This isn't well tested yet - but it's
really simple code - so it should be OK.
PLIB v1.0.10 (May 10th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Ooops! A fatal error in my strcasecmp code.
1.0.9 and 1.0.10 should have *died* on most
machines!
PLIB v1.0.9 (May 9th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~
* Error in SGI version of slSample.cxx cleared up (Thanks Devrim!)
* Made some changes for MSVC.
PLIB v1.0.8 (May 3rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~
* A couple of warnings eliminated from SL when compiled
under CygWin.
* Added a contribution from Simon Britnell <ughbash@yahoo.com>
to allow programs to search the SSG scene graph by name or
path. (Thanks Simon!)
* Fixed a bug in sgIdentityQuat (Thanks Kevin!)
* Following the first release of Tux-aqfh, I was snowed under with
little fixes.
+ strcasecmp should be stricmp on some machines...but alas, not
on others. The heck with it - I'll just write my own!
+ fntFont wasn't pushing/popping GL state correctly.
+ More minor hacks to make for clean compiles under IRIX.
+ puInterface's destructor was only deleting half of it's
child node.
+ Missing contructor functions for various SG classes.
+ SSG culling functions were not testing for empty
bounding spheres.
+ Minor compilation warnings for slSample.cxx
+ example/sl/example.cxx used M_PI - which is a no-no under
Windoze.
PLIB v1.0.7 (May 3rd 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~
* Removed a bunch of redundant NOTICE, CHANGES
and REAME files. All that stuff is now maintained
in the top level directory.
* SG used to be set up so you could compile it
in double precision with the drop of an option.
However, some applications need both float and
double support - so SG now has duplicate functions
for double-precision that start 'sgd'.
* Changed the structure of the FNT library to move
font sizes from the fntFont/fntTexFont class into
the fntRenderer class. This corrects a poor design
decision because it was hard to create fonts in
multiple point sizes and slants without using
multiple identical texture maps (BAD!). RTFM.
* Added a bunch of TXF fonts into examples/fnt/data
and changed the fnt_test program to cycle through
them whenever you press a key.
* PUI can now use FNT fonts - which is good news
because now you can use TXF fonts for better
variety and speed compared to GLUT fonts.
This means that PUI programs now need to
link with -lpui -lfnt -lsg
* The PUI 'complex' example program now uses
the sorority font.
* I added a 'rendering callback' to some
PUI widgets as suggested by Eero Pajarre. The
idea is to allow you to do arbitary OpenGL
rendering onto a PUI widget...however, I'm
not convinced that this is a good idea. In
any case, you can put icons on widgets more
easily by defining custom fonts using FNT.
PLIB v1.0.6 (May 1st 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added a complete new component library called
FNT that allows texturemapped fonts to be
loaded and rendered nicely.
* More small configure/compile problems fixed.
* Added Quaternions to the SG library thanks
to a fine contribution from Kevin Thompson
<kevinbthompson@yahoo.com>
* Fixed a bug in JS under Windoze that made
three axis sticks return garbage in the
third axis and swapped the order of the
third and fourth axes for >3 axis sticks.
PLIB v1.0.5 (April 21st 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed another IRIX compile problem in pu.h
* Found that configure script was not enabling
full warning levels...as a result, fixed a
dozen minor warnings in SSG.
* SSG's image loader now loads 8 bit and 24 bit
uncompressed BMP files. This seems to work
for RGB images - but I can't seem to build
BMP images with Alpha planes using any of
the tools I have.
PLIB v1.0.4 (April 20th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Restructured SSG texture image loader to permit
use of other file formats than SGI.
* In the event that a texture doesn't load, SSG will
now insert a red and white chequerboard.
* Another round of changes to configure.in should
solve the CygWin issues.
* Added in some *ancient* fixes to PUI - that kind
people donated and I somehow forgot all about (oops!)
PLIB v1.0.3 (April 18th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed to compile cleanly under IRIX 6.2 using the
official SGI C++ compiler.
* More fixes for MSVC under Windoze.
* OpenGL logo added to HTML documents following
request from opengl.org
PLIB v1.0.2 (April 14th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Yet more minor build tweaks - CygWin wasn't defining WIN32,
that should work now.
* JS should now work with Windoze - and with sticks with
up to 6 axes. Under Linux, the presence of the joystick
driver (or at least it's header files) is now mandatory,
PLIB won't build without it.
* The JS demo program has been fixed to display all of the
axes of all of the joysticks.
* PUI now supports valuators - this is where the value of
a widget is set using the address of one of the application's
variables. Once the valuator is set, the PUI widget's display
will always the same as the valuator - and any changes to the
widget will also change the value stored at that address.
This saves you from creating a bunch of callbacks when buttons
and sliders have no side-effects apart from changing some
global variable.
PLIB v1.0.1 (April 11th 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Some minor portability issues cleared up.
* More minor build process errors corrected.
PLIB v1.0 (April 1st 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~
* All the separate libraries that I support in the
public domain are now rolled into a single tarball
under the new name 'PLIB'.
* Although this is the first release of PLIB. The sub-
libraries: SL, JS and PUI had previous releases - this
is the first Beta of SG and SSG.
* Directory layouts for all of the component libraries
have been somewhat rationalized.
* I have shifted from a completely open license to
LGPL on the advice of several OpenSource authors.
Any earlier releases of these libraries that you
may happen to have remain free of LGPL restrictions.
If any contributors to the earlier code have objections
to this arrangement, please let me know and I'll arrange
to remove their code from subsequent copies.
* With help from Curtis Olson, we now have proper 'configure'
scripts to streamline the build process.