How to calibrate the 3D gauges

See discussion of this subject here:


Gauge Setup Defaults PDF

Pointer Whores JPG

Spitfire 1a ACM


NOTE1: from stickman. 26 January, 2010.

Here are Instructions from Eric, whom changed the code to allow any mere mortal such as I to calibrate the 3D gauges.

Previously this was untouchable. Now, anyone can fiddle with gauges by NotePad editing the .ACM files in the models folder.

Changes are edited or added to the last lines in an ACM file. Currently only changes that Ken or I added are there for v2.10.

Otherwise, the old Rowan Defaults apply.


NOTE2: from stickman. The PDF file, Gauge Setup Defaults, has Rowan’s original values. Not the ones that Ken and I have changed for v2.10.

Attached is the Spitfire.ACM file with my last gauge calibration values that are good to my revised GaugesSpitfire_v3 gauge textures.


Thanks Eric!

Eric’s notes:


R14 includes capability to edit or recalibrate the dial rotations on all of Bob’s 3d dial gauges. It does not allow any repositioning or scaling of bitmaps. Those errors are in the 3d model .bin file. I can’t get at them.=20

Also, I corrected the Luftwaffe slip gauge rotations. They now rotate the correct direction.


You can play with the 3d dials in 2 different ways:

1. First, you can alter the way the dial is initially set up.

This setup determines the maximum and minimum values that can be displayed as well as the size of the scale that the needle rotates over. Default values for these are listed in the Gauge Setup Defaults.pdf enclosed in the zip. Every gauge starts with these values. You can optionally override and specify new values for these by adding lines to the plane’s .acm file found in the model folder.

I’ve included and example in the enclosed Ju87B2.acm. At the bottom of the file you will see the following line:


GaugeSetup { 6 -16 16 0 }

The first number following the { is the Gauge Index specifying, in this case, the Rate of Climb Gauge.

The second number is the Minimum value on the gauge scale.

The third number is the Maximum value on the gauge scale.

The last number is the Scaler.

These are the default values for the Stuka Rate of Climb Gauge.


The gauge scale is determined as Maximum value – Minimum Value,

providing the Scaler is 0. Otherwise scale is determined as (Maximum Value – Minimum Value)/Scaler. If you play with these numbers you will see that they greatly influence the total amount and rate (sensitivity) of needle deflection.

A bit more about the gauge setup numbers. During gauge creation we have to specify how much to rotate the needle in response to a given value of input.

The Minimum Value sets the rotational offset from which the input value will be rotated. The Maximum value sets the upper limit that the gauge can handle without going past the peg. If an input comes in bigger than the Maximum, I think the needle will just rotate off scale. So, the Maximum does not actually set a hard limit as to how much the needle can move. It just sets the upper design limit of the gauge.

The scaler spreads the design sweep of the needle. Rotational sweep = (maximum – minimum)/scaler. So, all of these adjustments affect angle of needle rotation.  They are angle of rotation modifiers.


Start position of the needle can usually be changed by changing the Minimum in a GaugeSetup{} line.


2. Secondly, you can alter the value displayed by applying a calibration.

The Stuka’s Rate of Climb gauge does not quite zero properly.

At level flight, it is slightly below the zero climb.

You can adjust it by adding a constant to the original climb value.

You will find the following example in the enclosed Ju87B2.acm.


Calibration { 6 .5 0 }


The first number follwing the { is the Gauge Index specifying, in this case, the Rate of Climb Gauge.

The second number is the offset constant – default value is 0.

The third number is the linear scaler – default value is 1. Even though

I’ve put 0, it gets checked and changed to 1.


Calibrated value =3D offset + original value * linear scaler.

The Calibration lines operate directly on the flight model’s output number

either additively in the case of the Offset or multiplicatively in the case of the linearScaler.


In this example, I have added 0.5 to all climb values, thereby shifting the zero and all other values slightly higher.


You can add either or none of these Setup/Calibrations lines for any dial for any plane.

Just put the lines before the last } in the plane’s .acm file.




Changes in R15 from R14 3/23/09


Disentangled code for calibrations of heading, compass and gyrocompass gauges(gauge indices 29 and 30).

They now each have their own setup values listed in Setup Gauge Defaults.pdf and each can be calibrated independently of the others.

Corrected spitfire elevator trim gauge.  Corrected Stuka compasses.


The compass gauge(29) setup affects the small compass tape on the instrument panel.

The gyrocompass gauge (30) setup affects the large compass with the rotating dial.


Artificial Horizon cannot be calibrated.  It is handled in a totally different manor in the code and cannot be accessed to calibrate at this time.

To change the rotation direction of any dial, change sign of the setup gauge scaler.  If it is 0, change it to -1. If it is -1, change it to 0 or 1.