[bf1942] [OT] DC F16 problem - SOLVED!

Shockwave shockwave at clan-tf20.com
Sun Sep 5 14:51:16 EDT 2004

After having spent this past week thinking about this issue and trying
to isolate the possible causes, I am very pleased to say that I have
found the source of the problem and fixed it!  My thanks go out to the
Fedora Core developer community from whom I received some fantastic
support.  With their help, I was able to narrow it down to an issue with
the 2.6.x kernel.  The good news is that as far as I can tell it isn't a
kernel problem.  All the while I was working on this, the one thing that
kept nagging me was that it only happened with the F-16 and not any
other vehicle.  This indicated to me that it must have something to do
with the specifications for the vehicle itself and how the kernel was
dealing with implementing them.

After spending a few days working on the Linux end of things, I did some
reading, downloaded some modding tools, and did a little exploring.  The
tutorials I read explained that the file "objects.rfa" contains the
model information for the F-16, as well as every other object in the
game environment so I figured it was the best place to start.  After
poking around a bit, I took a look at the "Objects.con" files for a
couple of aircraft to see if I could see any similarities.  It was then
that I noticed something peculiar.  The F-16 rear right wheel section
had a parameter missing for "objectTemplate.setMaxRotation" when
compared to the rear left wheel.  It looked like this:

objectTemplate.setMaxRotation /0/0

The rear left wheel differed in that it actually had a value in front of
the first slash.  I changed the rear right wheel to match the rear left
and decided to test it.  After creating a temporary mod folder on my
workstation, I grabbed the "objects.rfa" from my Linux server and put it
in place figuring the first part of the experiment should be to
establish the control.  I then ran a local multi-player game of El
Alamein to see if the problem was evident.  I didn't expect to see
anything wrong and sure enough I didn't.  I then re-packed the
"objects.rfa" file with the change in it and started the server again. 
There was a change alright, but it wasn't what I expected.  The wheel
seemed to be rotated out of position and the jet was now leaning just
like it did on the Linux server.  I fiddled with the value again, this
time making it look like this:

objectTemplate.setMaxRotation 0/0/0

This time, the wheel was oriented properly, but it was too close to the
center of the fuselage.  I compared the settings for
"objectTemplate.setPosition" between the two rear wheels and found them
to be identical.  On a whim, I decided to remove the negative sign from
in front of the rear right wheel's X coordinate to see if it would
change anything and...VIOLA!  The F-16 now looked exactly like it did
before I started messing with anything.  Not wanting to get too excited,
I decided it was time to put my modifications to the test on my Linux
server.  I uploaded the modified file, replaced the existing one, and
fired up the game.  I can tell you the anticipation was killing me as I
ran towards the edge of the hill overlooking the Coalition airfield. 
Thankfully, the F-16 was sitting there with all three wheels exactly
where they should be.

I have a copy of the patched "objects.rfa" file and would be happy to
send it to anyone willing to host it publicly.  I would host it myself,
but unfortunately I don't have enough bandwidth.  I will be posting this
message in the Lightcubed forums and I will ask for someone to host it
there as well.

I suppose my only regret is that none of the developers even bothered to
weigh in on this issue.  To them, this would have probably been a walk
in the park.  Instead, I spent a majority of this past week that I was
on vacation trying to isolate the problem as well as learn about
modding.  I learned a lot along the way but I would hope that next time
the developers would help the community more than this.


ICQ# 57671167
#taskforce20  irc.gamesurge.net

More information about the Bf1942 mailing list