Monday, August 14, 2006

Error Diagnostics

I got a bug report that Tom Kyler's "Grand Forks" scenery wouldn't load with X-Plane 850. It turns out the apt.dat file has a syntax error that X-Plane 840 silently ignored but X-Plane 850 reports as an error message.

I've wired up the apt.dat loader to use the new, more forgiving error reporting system. Most of the sim still doesn't use this system, but when the sim does, the result is a single dialog box (per scenery package, no matter how many errors) that looks like the image on the left.

X-Plane then logs detailed information about the problem to the log.txt file like this:

***Error with scenery file "Custom Scenery/grandforks/Earth nav data:apt.dat" (/code/design++/HLutils/OOPS_cpp/airp.cpp: 493.)
An apt.dat enumeration is out of range: Invalid beacon code. Expected a code less than 6 but got 343128. Airport is KGFK. File is Custom Scenery/grandforks/Earth nav data:apt.dat.

This way authors can get as much information as we have about the corrupt file while users are not bombarded with technical details. When possible X-Plane will continue to load, but the sim may abort if the file is too badly corrupted.

No comments: