1
0
Fork 0
Commit graph

133 commits

Author SHA1 Message Date
david
f3eafe1007 Property patches from Frederic Bouvier:
The FlightGear patch is to take account the change in the getChildren
function that now returns a vector<SGPropertyNode_ptr>. If the
removeChild functionnality is to be added in FlightGear, all those
SGPropertyNode * floating around should be changed to
SGPropertyNode_ptr.
2002-05-11 00:59:26 +00:00
david
56473dc28d Mac OS X fixes and MSVC warning fixes from Jonathan Polley. 2002-05-10 23:35:06 +00:00
curt
cf146a7d1b Fix a couple "make dist" problems that crept in since the last release.
Regengerate msvc project files.
2002-04-21 05:51:37 +00:00
david
5b2df63f54 Patches from Melchior Franz:
The first hunk might not be necessary, but the light_coverage property
was the only one that wasn't explicitly defaulted, which is unfair.  ;-)
   The second hunk adds the missing initialization to the init routine.
This is necessary, because (unlike the material entries from material.xml)
the generated light entries don't get the light coverage set. Yet
obj.cxx:795 reads this information out fot every leaf, although not needed
in the case of lights. Avoiding this isn't worth the trouble.
   The last hunk sets the missing normal_index. The POINTS branch in
gen_leaf was always called with this int_list empty, which made the normals
handling use data garbage.
2002-03-26 16:10:53 +00:00
david
f65f1800c7 Use !strcmp for all property name comparisons. 2002-03-20 22:23:10 +00:00
curt
99fa3a6e79 Various Irix cleanups.
Float/Double clean ups for fg_sound.cxx
2002-03-20 15:57:31 +00:00
david
0cc3bed841 Major property-manager rewrite, using const char * throughout
interface instead of string.  This will result in a lot more
efficiency later, once I add in a simple hash table for caching
lookups, since it will avoid creating a lot of temporary string
objects.  The major considerations for users will be that they cannot
use

  node->getName() == "foo";

any more, and will have to use c_str() when setting a string value
from a C++ string.
2002-03-19 17:12:13 +00:00
curt
3bf7269174 Initial revision. Things are just beginning to be stubbed in now. 2002-03-17 00:37:22 +00:00
curt
ac99a82b98 Replaced some debugging structure David inadvertantly removed. 2002-03-16 05:12:26 +00:00
david
d0eaafb1e1 Patches from Tony Peden to separate property XML I/O operations into a
separate header file.  This change will help integrate properties into
JSBSim.

Also, I (David Megginson) removed most of the SimGear include
statements from globals.hxx, reducing the amount of recompilation
every time SimGear changes.  This required making minor changes to a
lot of files that were depending on the side-effects of the inclusions
in globals.hxx.
2002-03-16 00:18:38 +00:00
curt
0a01e563f4 Better support of the newer more flexible object file format. This
includes the ability to specify per vertex normals rather than depending
the normals list being the same as the vertices list.  (Support for
previous binary file format scenery is maintained.)
2002-03-13 06:03:37 +00:00
curt
9ff8951be6 *** empty log message *** 2002-03-12 05:37:55 +00:00
curt
914b5636e4 Removed some extra debugging output that wasn't supposed to be committed. 2002-03-11 22:55:01 +00:00
curt
3df76f9401 Oops, make sure we are generating an ocean tile if we can't load a terrain
tile.
Fixed a warning in the sound manager.
2002-03-11 22:50:23 +00:00
curt
7d8af6fee2 Fix a compiler warning. 2002-03-04 19:59:50 +00:00
curt
73b92a697d Further restructuring of the scenery loading code. 2002-03-03 23:20:55 +00:00
curt
938d006188 Updates to the scenery loading infrastructure to make it more flexible,
clean up some messiness, and lay more groundwork for runway lighting.
2002-03-03 20:29:31 +00:00
curt
3966e02de0 A few of Norman's changes I managed to get in.
Added support for arrays of points (in addition to various forms of triangles)
2002-02-28 00:10:35 +00:00
curt
4f67824f09 - Removed redundant FG*:: qualifications from class members
- Fixed comparisons between signed and unsigned ints
2002-02-15 22:00:49 +00:00
curt
dea7284cc7 Restructured the 'freeze' property a bit. We now have
/sim/freeze/master      (implimented)
  /sim/freeze/fuel        (implimented)
  /sim/freeze/position    (not implimented)
  /sim/freeze/time-of-day (not implimented)

/sim/freeze/master is bound to the 'p' key via keyboard.xml, however,
/sim/freeze/fuel is not bound to anything at the moment so you must
change it via the external property interface, or specify an initial
value on the command line.
2002-01-20 03:52:36 +00:00
curt
1fd3d5aa48 Removed old remnants of plib-1.2.x support. We haven't officially supported
this older version of plib in some time, but there were bits of code remaining
that was (or could potentially) cause confusion.
2002-01-11 22:16:05 +00:00
david
73f5eec1b7 ANSI C++ fixes, to allow compilation with g++ 3.x. 2002-01-10 12:52:39 +00:00
david
35056ddaea Removed unused alpha variable; more code cleanups and documentation. 2001-12-30 03:04:39 +00:00
david
a2be88ad74 Initialization fixes. 2001-12-29 13:19:09 +00:00
david
d4aea05246 Substantial rewrite of FGNewMat, the material class. Most of the
material-specific logic is now removed from the material library and
encapsulated in the material class itself, and materials are loaded
from $FG_ROOT/materials.xml rather than $FG_ROOT/materials.  This also
removes a nasty bug in the old material-loading code that caused a
floating-point exception.
2001-12-28 23:33:32 +00:00
curt
1fa4c88d0e Updates to build system to better support automake-1.5
- automake-1.4 sets default values for INCLUDES which we can't
  overwrite.
- automake-1.5 renames this to DEFAULT_INCLUDES and leaves INCLUDES
  open for the developer to use.

Thus for automake-1.4 we are forced to 'append' to INCLUDES and in
automake-1.5 we can just set the value to whatever we like.
Unfortunately, the behaviors of the two versions are mutually
incompatible.

The solution I am committing now works for both versions but
automake-1.5 generates a lot of spurious warning messages that are
annoying, but not fatal.
2001-12-28 22:29:59 +00:00
david
4f5d70144a -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
curt
4cc5cee885 David Megginson writes:
Here's an unusual patch for FlightGear -- I've created .cvsignore
files for every source directory, to make CVS output more informative.
This is especially nice when using cvs-examine from (X)Emacs to look
for changes.
2001-12-09 05:43:40 +00:00
curt
57b4283383 MSVC tweak. 2001-07-30 22:54:20 +00:00
curt
dae9b63a14 Nuked the segfault on exit bug everyone was seeing. The material lib could
have multiple ptrs to individual entries (aliases) but the destructor was
trying to delete every ptr so it would delete already freed memory for aliases.
I implimented a simple ref counting scheme (similar to the plib mechanism) to
track references to material lib entries and only "delete" them when the last
reference is removed.
2001-07-13 05:15:29 +00:00
curt
2cb51a228b Restructured code a bit to split out the bits that create objects on the
fly.  More work needs to be done.
Added apt_signs.[ch]xx
2001-07-12 15:03:09 +00:00
curt
bc4859c0fb Attempt to fix a segfault on exit, although I don't think this quite
does it.  We'll have to dig deeper.
2001-07-11 15:50:18 +00:00
curt
6116accf6a Various cleanups, jettison plib-1.2.0 support, remove a potential memory
leak.
2001-07-08 23:38:16 +00:00
curt
93178a944b - added declaration for method get_step 2001-06-26 22:00:31 +00:00
curt
2b6873903c - added implementation for method get_step 2001-06-26 22:00:21 +00:00
curt
46b82360b0 Fixed a couple items for Norman's large resolution print routines. 2001-06-13 20:31:49 +00:00
curt
da33ab1cf8 Oops, fixed a bug introduced in the previous round that munged many
runway textures.
2001-06-12 22:24:52 +00:00
curt
bd0b5085db Fixed an data initialization problem that was causing MSVC grief. 2001-06-12 18:45:23 +00:00
curt
15fadd1687 There was a typo in the $fgbase/materials file where an alias was
pointing to a non-existant material name.  (This has been fixed.)

The alias code didn't check to see if this condition would occur so it
was putting a 'NULL' entry in the material library which was causing
the crash.  It now checks for and skips bad aliases and prints a
warning message.
2001-06-12 17:52:09 +00:00
curt
02896643d7 Minor texture tweaks. 2001-05-23 20:54:51 +00:00
curt
29d540901c Tile pager tweaks.
MSVC++ tweaks.
2001-05-21 20:44:59 +00:00
curt
34854ab2af Threaded tile paging:
- model loading deferred to primary thread
- tile removal deferred to paging thread
- other tweaks and rearrangments.

Airport signs
- first stab at some support for adding taxiway and runway signs.  This
  is non-optimal, but I'm under the gun for a demo.
2001-05-19 16:59:43 +00:00
curt
a0d50000ba Modifications to coordinate with recent changes in simgear. 2001-05-15 22:30:39 +00:00
curt
b7ccbfe532 Fixed a typo. 2001-05-15 04:08:31 +00:00
curt
a01a26a009 Re-added support for loading on-the-fly textures. 2001-05-15 00:01:04 +00:00
curt
e03752883e Unconvoluted around line #130 2001-04-11 20:09:23 +00:00
curt
b0b6c34249 Initial stab at a threaded tile loader contributed by Bernie Bright.
He writes:

Here are the final changes to add threads to the tile loading.  All the
thread related code is in the new FGTileLoader class.

./configure.in
./acconfig.h
Added --with-threads option and corresponding ENABLE_THREADS
definition.  The default is no threads.

./src/Scenery/tilemgr
Removed load_queue and associated references.  This has been replaced by
a new class FGTileLoader in FGNewCache.
Made the global variable global_tile_cache a member.
schedule_needed(): removed global_tile_cache.exists() tests since
sched_tile() effectively repeats the test.
initialize_queue(): removed code that loads tiles since this is now
performed by FGTileLoader.
update(): ditto

./src/Scenery/newcache
Added new class FGTileLoader to manage tile queuing and loading.
tile_map typedefs are private.
exists() is a const member function.
fill_in(): deleted
load_tile(): added.

./src/Scenery/FGTileLoader
The new threaded tile loader.  Maintains a queue of tiles waiting to be
loaded and an array of one or more threads to load the tiles.  Currently
only a single thread is created.  The queue is guarded by a mutex to
synchronize access.  A condition variable signals the thread when the
queue is non-empty.

CLO: I made a few tweaks to address a couple issues, hopefully what we
have is solid, but now we kick it out to the general public to see. :-)
2001-04-11 02:47:15 +00:00
curt
191bb3956a Updates from Bernie Bright to massage tile loading around to make it
slightly more conducive to future threading.
2001-03-29 01:42:31 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
f380595144 fg_zlib.h -> sg_zlib.h 2001-03-24 14:12:00 +00:00