format. Thus I have had to make the corresponding changes here in the
file loader.
Things that do not correspond the the .obj format are placed in comments.
Nested fgFACE inside fgFRAGMENT since its not used anywhere else.
./Simulator/Objects/material.cxx
./Simulator/Objects/material.hxx
Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
data members - that should keep the rabble happy :)
./Simulator/Scenery/tilemgr.cxx
In viewable() delay evaluation of eye[0] and eye[1] in until they're
actually needed.
Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
method.
./Include/fg_stl_config.h
./Include/auto_ptr.hxx
Added support for g++ 2.7.
Further changes to other files are forthcoming.
Brief summary of changes required for g++ 2.7.
operator->() not supported by iterators: use (*i).x instead of i->x
default template arguments not supported,
<functional> doesn't have mem_fun_ref() needed by callbacks.
some std include files have different names.
template member functions not supported.
- The new classes in libmisc.tgz define a stream interface into zlib.
I've put these in a new directory, Lib/Misc. Feel free to rename it
to something more appropriate. However you'll have to change the
include directives in all the other files. Additionally you'll have
add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
test so I've included the required changes in config.tgz.
There are a fair few changes to Simulator/Objects as I've moved
things around. Loading tiles is quicker but thats not where the delay
is. Tile loading takes a few tenths of a second per file on a P200
but it seems to be the post-processing that leads to a noticeable
blip in framerate. I suppose its time to start profiling to see where
the delays are.
I've included a brief description of each archives contents.
Lib/Misc/
zfstream.cxx
zfstream.hxx
C++ stream interface into zlib.
Taken from zlib-1.1.3/contrib/iostream/.
Minor mods for STL compatibility.
There's no copyright associated with these so I assume they're
covered by zlib's.
fgstream.cxx
fgstream.hxx
FlightGear input stream using gz_ifstream. Tries to open the
given filename. If that fails then filename is examined and a
".gz" suffix is removed or appended and that file is opened.
stopwatch.hxx
A simple timer for benchmarking. Not used in production code.
Taken from the Blitz++ project. Covered by GPL.
strutils.cxx
strutils.hxx
Some simple string manipulation routines.
Simulator/Airports/
Load airports database using fgstream.
Changed fgAIRPORTS to use set<> instead of map<>.
Added bool fgAIRPORTS::search() as a neater way doing the lookup.
Returns true if found.
Simulator/Astro/
Modified fgStarsInit() to load stars database using fgstream.
Simulator/Objects/
Modified fgObjLoad() to use fgstream.
Modified fgMATERIAL_MGR::load_lib() to use fgstream.
Many changes to fgMATERIAL.
Some changes to fgFRAGMENT but I forget what!
- use strings for fg_root and airport_id and added methods to return
them as strings,
- inlined all access methods,
- made the parsing functions private methods,
- deleted some unused functions.
- propogated some of these changes out a bit further.