OK, I've now got this plane in my game!
As I just knew it, here's the old compass code 'REM'ed out' with "//" characters, followed by the new code:
// super.mesh.chunkSetAngles("zMagnetic1", 0.0F, -0.5F * setNew.azimuth.getDeg(f), 0.0F);
// super.mesh.chunkSetAngles("zMagnetic2", 0.0F, -0.5F * setNew.azimuth.getDeg(f), 0.0F);
super.mesh.chunkSetAngles("zMagnetic1", 0.0F, setNew.azimuth.getDeg(f), 0.0F);
super.mesh.chunkSetAngles("zMagnetic2", 0.0F, setNew.azimuth.getDeg(f), 0.0F);
Because the old compass card was printed in reverse, the setNew.azimuth.getDeg value was made negative, so as to have the card rotate in the correct numerical sense, albeit opposite to reality. And because the scale was doubled up, as in N-E-S-W-N-E-S-W, the value had to be reduced by a factor of two. Hence the need for these two errors requiring that -0.5 factor. Now it's operating at unity, and the compass rotates correctly. That took just a few seconds to fix.
Next up; adding hysteresis (a slowed response), as well a limit to free rotation when exceeding a certain bank or pitch angle.
As to the compass glass showing up through the hull, as well as the edge of the glass appearing outside the window edge, in CompassGlass.mat, make this change:
tfTestZ 1
In my install I do see both compass glasses from the rear 'pit. I'll be tweaking the texture for that glass, to make it less garish.