Did cvs updated plib, simgear, flightgear, and of course
fgfsbase ... built in 1, 2, 3 order ...

3. FlightGear\FlightGear.dsw

First copy FlightGear\src\include\config.h.msvc6
to config.h, and manually change the version
to 0.7.10 ... just like someone had to do in
config.in ...

Twas i that 'invented' that long version name
in config.h-msvc6, and have now changed mine to -

/* Define package version - used in main.cxx */
#define FLIGHTGEAR_VERSION "MSVC6-FGFS32-0.7.10"

The other two 'version' items in config.h-msvc6,
namely -

/* Define to version number */
#define VERSION "0.57"
#ifndef  FG_VERSION     /* allow override */
#define  FG_VERSION     7
#endif   /* FG_VERSION */

The first is a residual value there when i first began
modifying the file. And although I could never
find where it was used, I left it there ... If it is in fact
NOT used, then it can be removed!

The second can also be removed. I was thinking of adding
'another' type of version output, but never got around to it.

I also change from the default to /MTd ... and
set sail ...

Of course it is only a short time before you
hit the JSBSim conundrum ... I hope MSVC6
compatible version are planned for 0.7.10
as mentioned by Jonathan ...

This 'tie' problem now effects 10 files -

fgaerodynamics.cpp, fgaircraft.cpp,
fgatmosphere.cpp, fgauxiliary.cpp,
fggroundreactions.cpp, fginertial.cpp,
fgmassbalance.cpp, fgpropulsion.cpp,
fgrotation.cpp, fgtranslation.cpp.

The build stops with -
FlightGear.exe - 72 error(s), 16 warning(s)

My 'fix' for the above JSB files is similar
to the functions i noted in FGRotation.h, namely -

  inline double Getphi(void) const {return vEuler(1);}
  inline double Gettht(void) const {return vEuler(2);}
  inline double Getpsi(void) const {return vEuler(3);}

That is, under a _MSC_VER switch i convert the sets of
3, like -
  PropertyManager->Tie("velocities/p-rad_sec", this,1,
                       &FGRotation::GetPQR);
  PropertyManager->Tie("velocities/q-rad_sec", this,2,
                       &FGRotation::GetPQR);
  PropertyManager->Tie("velocities/r-rad_sec", this,3,
                       &FGRotation::GetPQR);

to use 3 different functions, like -
  PropertyManager->Tie("velocities/p-rad_sec", this,
                       &FGRotation::GetPQR1);
  PropertyManager->Tie("velocities/q-rad_sec", this,
                       &FGRotation::GetPQR2);
  PropertyManager->Tie("velocities/r-rad_sec", this,
                       &FGRotation::GetPQR3);

Then in FGRotation.h added - 
  inline double GetPQR1() const {return vPQR(1);}
  inline double GetPQR2() const {return vPQR(2);}
  inline double GetPQR3() const {return vPQR(3);}

About an hour of cut, paste and typing to change the
above 10 modules and their headers resp. ... and
on with the build ...

The next STOP was -
FlightGear.exe - 1 error(s), 170 warning(s)
d:\fg710\flightgear\src\objects\dir_lights.cxx(29)
 : error C4716: 'gen_directional_light' : must return a value
Look like a 'new' function-in-progress, so just
added return 0;, and onwards ...

Next STOP -
FlightGear.exe - 1 error(s), 11 warning(s)
LINK : fatal error LNK1181: cannot open
 input file "ssg.lib"
reminds me to FIX the names of EACH of
the PLIB libraries by adding the "_d",
and i remember to fix the SimGear include
path to SimGear\Debug;

Oops! Seems mk4vc60s_d.lib has now
become mk4vc60s_std_d.lib. Another small
fix ...

And i remember, just in my case, to ADD
opengl32.lib, winmm.lib, and glu32.lib to
the link list, and am rewarded with -

Linking...
FlightGear.exe - 0 error(s)...
and i IGNORE the nearly 200 (two hundred)
WARNINGS!!!

Will it run? First update my base - cvs
refused to do this this morning, so will
try again now ... Nope! Still no response
from the server ... but i did it yesterday
so maybe my base is new enough ...

YEAH!!!
Both the default JSBSim (without panel),
and MagicCarpet ran fine ...

As I was headed south down the Californian
coast I saw a 'new' display bug. As I moved
along the coast in parts the 'land' scenery
was above the 'water' scenery, and a 'white
gap' was visible - sort of like the white
cliff of Dover, but transparent???

In fact if I took the FDM down to sea level
some of the scenery tiles appeared to be
'floating' ... Their edge did NOT 'bend
down' to reach the sea level!!!

And if I flew from the sea at say 1000'
both the HUD altitude and AGL-Alt showed
about 1000, but when I crossed over onto
the land the AGL-Alt immediatley went down
to say 500', so it all 'seems' correct ...

Anyway, as stated, this appears 'new' to me,
as i have flown down this coast say 6 months
ago, and never noticed this white TRANSPARENT
GAP! You could 'paint' it a rough brown, and
make it opaque, and bingo, we'd have CLIFFS!

Now must find the time (and patience) to
add back the panel, and try the other FDM's,
other views, the 3D models, etc, etc, etc ...

With 'magic', no panel, just HUD I have
actually seen frame rate above 30+ which seems
a BIG improvement in my WIN98 machine ...

Thanks to all ... Hope this helps ...

Regards,

Geoff.

Following is SimGear (+zlib), metakit and
PLIB build ... Basically all good.

2. Build SimGear\SimGear.dsw

Before starting must switch from the default /MLd
to /MTd, to be the same as plib ... and remember
to COPY SimGear\SimGear\simgear_config.h.vc5 to
simgear_config.h.

There appears to be an attempt to 'automate' this
'copy' step - there are lines about it in the DSP
file - but it does NOT seem to work on my system!

There was a warning at the beginning -
Build : warning : failed to (or don't know how
 to) build 'D:\FG710\SimGear\simgear\zlib\zutil.c'
and this reminds one to UNPACK -
SimGear\Simgear\src-lib\zlib-1.1.4.tar.gz
and of course -
SimGear\Simgear\src-lib\metakit-2.4.3-33.tar.gz

and copying the unzipped stuff to
SimGear\SimGear\zlib, and
SimGear\SimGear\metakit, respectively.

SimGear.dsw/dsp builds fine, after changing to /MTd
as does  mksrc.dsw/dsp of metakit, after selecting the
mklib and /MTd ...

1. Build plib\plib.dsw

The newest version of src\net\netsocket.cxx
has had the following lines removed, and
thus get an ERROR with MSVC6

#if !defined(STDC_HEADERS) && !defined(socklen_t)
#define socklen_t int
#endif

Putting these 3 lines back, and all is great,
except as lamented before, plib\src\js\js.h is no
longer copied to plib, and thus must manually
make this copy ... no big deal.

Note, the default msvc plib build is /MTd (Debug 
Multithreaded), and i applied this to all the other
components ... but i am sure any 'consistent' set
would work ...

rgds,

Geoff.



_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to