NWD_TankFCS v0.2
--------------------------------------------

Installation

Extract to your ArmA directory and add @NWD_TankFCS to the "-mod=" switch of your ArmA shortcut's "Target" line.  If you use multiple mods, the "Target" should be, for example:
Code Sample
"C:\Your ArmA Path\ArmA.exe" -mod=@NWD_Ballistics;@NWD_ScopeFix;@GMJ_SightAdjustment;@NWD_TankFCS


This mod requires the extended init eventhandlers mod, available here:
http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?act=ST;f=70;t=66789

If you use GMJ_SightAdjustment, make sure to use the compatibility patch in the "examples" folder of the extended init eventhandlers mod.  Just put it in your @GMJ_SightAdjusment/addons folder.
--------------------------------------------

Description

This mod replaces just about everything that has anything to do with firing the guns on a tank.  

First off, shell damage and trajectories are changed to be more in line with reality (APFSDS rounds will travel 100km+ in real life! ), and the coaxial machineguns fire at their real cyclic rates.  

That's not why you want it, though.  In addition to changing the ballistic properties of the shells, this mod adds a simulation of the real fire control computers of both the T-72M and the M1A1 Abrams.  The fire control works nearly exactly as it does in the real tanks (with a couple caveats), down to the smallest details I could find.  

As of version 0.2 this mod also includes a general upgrade of the tank models.  The turret on the T-72 is declined at the proper 1°13' for firing from a hull-down position; the main gun sights are decoupled from the guns and placed in their proper sight housings, and the commanders' machine guns are more realistically modelled.  The M1A1 Commander's Weapon Station is modeled (more) accurately, now, and can only be fired from the buttoned and semi-buttoned positions (no hip shooting, sorry).  The 12.7 anti-aircraft machine gun on the T-72 is now mounted on the rear of the cupola, and can no longer be fired from inside the tank.  (The commander's TKN-3 sight does not have any elevation adjustment either... so you might need to get proficient at designating targets from the orders menu.)  

The model upgrade also includes upgraded damage models for the M1A1 and T-72.  Tanks are now completely immune to anything smaller than 20mm (I've fired 1000 rounds of 12.7, 2800 rounds of 7.62, and ten rounds of M1028 Canister (that's 1,150 12-damage projectiles each! ) into the side hull of a T-72 without appreciably damaging it, whereas 1300 rounds of 7.62 alone would destroy a T-72 before), and anything smaller than 40mm will do little damage.  Where you hit the tank is now very important, as well.  

Hits to the frontal armor of an Abrams tank will accomplish very little.  It will take ~3 M829A2 rounds or ~5 BM42 rounds to the glacis plate, or ~5 M829A2 rounds or ~8 BM42 rounds to the front turret armor to destroy an Abrams.  However, a lucky hit may take out a track, the main gun, or the commander's weapon station, and repeated hits may disable the turret.  Hits to the side or rear of the tank will likely be disabling.  

The T-72 is still very lightly armored in comparison, and an M829A2 penetrator is very likely to disable the tank from any angle.  A single well-aimed shot to the lower side armor will touch off the ammo and cause a catastrophic explosion.  

High explosive ammo does slightly too much damage to the tanks currently.  I'll need to change the damage of all high explosive shells (or replace the indirect damage with a fragmentation script) to fix this.  The M830 and BK-27 HEAT shells in this mod behave realistically, but the M830A1 MPAT shells currently do too much damage to armor because they have to be able to damage helicopters indirectly.  


As of now, only the main gun sight is simulated properly.  I intend to add night sights, auxiliary sights, and commanders' sights later.

This also includes a bug-fixed version of my GLTD II rangefinder mod, described here.   I used the GLTD II code as a base for this mod, but I can probably separate them again.  I'll try to do that for a future version.  
--------------------------------------------

Gunnery Manual

M1A1 Gunnery
Getting a fire solution in the M1A1 Abrams is easy once you know what you're doing.  To hit a stationary target with the main gun, all you need to do is make sure you have the proper ammunition type selected (select "Change FCS Mode" in the action menu if not), place the target within the 1-mil circle of the reticle, lase the target, and fire.  Firing with the coaxial is carried out identically, just switch to the coaxial machine gun, lase the target, and fire.  If you are engaging with both weapons, you only have to lase the target once; the fire control system will apply the proper corrections automatically when you switch weapons.  If the target you have lased is outside the programmed maximum range of the selected weapon, the range display will flash and the gun will elevate to the maximum programmed range (4000m for the main gun, 1800m for the coaxial).  You can still fire on the target, but you'll need to apply additional superelevation manually.

To lase the target in ArmA, press the "Lock Target" button -- the Tab key by default.  You can also use the "LASE" action in the action menu.

After you have lased the target, the reticle will be allowed to "float" if you move the sights.  The important thing to keep in mind here is that your controls move the reticle.  Wherever you put the reticle, it will stay.  This is used for firing at moving targets.  To cancel the reticle motion ("dump the lead"), just press the button you have bound to the "Look" function or select the "DUMP" action in the action menu.

To fire at a moving target, you must smoothly track the target with the reticle for 1.5 seconds before you lase.  Once you lase the target, the sights will jump in front of the target to apply the proper amount of lead, while the reticle stays exactly where you put it.  Continue to track the target with the reticle, and fire.  If you've carried this out properly, you will hit the target.  If the target changes speeds, all you need to do is continue to track the target for at least 1.5 seconds before firing.  If the target changes range during this time, you can lase again--the laser always points to the center of the reticle.

The M1A1 turret traverse is such that you can actually hit a helicopter in flight.  To have any chance of this, load M830A1 MPAT rounds and set the FCS mode to "MPAT (Proximity)".  This will set the shells to detonate whenever they come within five meters of anything, after an arming range of 300-400 meters.  (While it is now triggered by terrain, it seems to ignore rocks and trees.)

After each time you fire the gun, you must select the next shell to load.  To reload the same shell type you have just fired, press the button you have mapped to the "Reload" action.

The minimum laser rangefinder range is 200m, while the maximum range is 7990m.  If the target is less than 200m away or more than 7990m away, the range will flash "0000".  (I think this should prevent the gun from firing, but I don't know how to do that in script.  Right now I think the script sets the gun to maximum superelevation.)


There are a few extra controls in your action menu.  "BSGT" sets the FCS to battle sight mode.  This will set the range to the battle sight preset.  (This preset will be adjustable in future versions, as of now, it's always 1200m).  This is useful for firing APFSDS rounds at close range, if you don't have time to lase the target.  Press the "binoculars" key to call up this mode.

"Range Logic" refers to the method of dealing with multiple laser returns.  If there is more than one object in the 1-mil circle when you lase, you may see a bar appear over the range.  This means that the rangefinder has seen more than one laser reflection.  By default, the range to the furthest reflection is displayed and entered into the fire control system.  By selecting the "Range Logic" action in your action menu, you can toggle between this behavior and displaying the range to the nearest laser reflection.  It won't display the other range until you lase again, in this version (this will change, eventually).

"Toggle Coax" does exactly the same thing as pressing the button bound to the "Toggle Weapons" action.  It's displayed in the action menu because that's the only way the script will work.  


T-72M Gunnery
Using the T-72M fire control system is rather more difficult than using the M1A1 FCS.  Firing at a stationary target, however, is still pretty easy.  To hit a stationary target with the main gun, you must make sure the proper ammunition type is selected, place the target within the red laser marker, lase the target, place the point of the large center chevron on the target, and fire.  

The currently selected ammo type is shown by the big red letter in the middle of the screen.  "O" means high explosive fragmentation (HEF), "K" means high explosive anti-tank (HEAT), and the Cyrillic "B" (looks like a "6") means armor piercing (APFSDS in this case).  To change this, select the "Change FCS Mode" action in your action menu.  Note that the firing solution does not update when you do this.  (It probably should. Wait for the next version.)

To hit a stationary target with the coaxial machine gun, you must place the target within the red laser marker, lase the target, note the range, set the range to zero, place the point of the appropriate machine gun chevron over the target, and fire.  The machine gun chevrons are the small chevrons that form a curve from right to left, and they are marked in hundreds of meters.  To hit an 800 meter target, for example, you must place the point of the chevron numbered "8" (below and to the left of the main aiming chevron) over the target and fire.  

Lasing the target is accomplished with the "Lock Target" key or the "LASE" action.  To set range to zero, press the "Look" key or use the "DUMP" action.


To fire at a moving target, you must place the target within the red laser mark, track the target smoothly, and hold down the lase key until the lead value stabilizes.  You will need to hold the key down for ~1.5 seconds before you have an accurate firing solution.  If you are using a joystick, you will have to use a joystick mapping program to map the tab key to a joystick button -- binding "lock target" directly to a joystick button will not work.  

As the lead is computed, it will be displayed by red LED numbers to either the left or right side of the reticle.  When you release the lase key, the number will freeze.  To fire on the target, place the top of the mil mark on the same side as the lead display that corresponds to the number on the lead display over the target, and fire.  For example, if you are tracking a swiftly moving target that moves left to right across your view, the lead may be displayed as "22,0" on the left side of the reticle.  To hit the target, place the top of the small dash on the left side labeled "22" on the target and fire.  If none of that made sense, watch the video.  


The laser rangefinder in the T-72M is of considerably poorer quality than the one in the M1A1.  It really does fill the entire red hexagon.  In addition, it always returns the range to the first reflection it sees.  If that wasn't bad enough, the maximum range is only 3000-4000 meters depending on the weather; the minimum range is 500 meters.  If your target is further than 3000-4000 meters away or less than 500 meters away, no digital range will be displayed, and the sights will set themselves to 800 meters.  To fire at targets less than 500 meters away with the main gun, just let the sights set themselves to 800 meters and fire -- you should be close enough.  In future versions you will be able to change the range manually.  

Although the rangefinder always returns the nearest range, you can lock out shorter ranges if you need to fire through trees.  The minimum range can be changed between 500, 800, and 1200 meters for this purpose.  For example, if you are firing at a 1500 meter target behind a few trees that are 700 meters away, and the rangefinder keeps showing 700, set the minimum range to 800.  Getting an accurate range to a target that is more than 2000 meters away is very difficult; Soviet doctrine was to lase three times just to be sure.  Keep in mind that there is a three-second cooldown phase between each laser usage that cannot be overridden.
--------------------------------------------

Loadouts

Loadouts are completely configurable.  Every magazine holds exactly one round, so you can removeMagazine and addMagazine to get exactly the loadout you want.  

All rounds are currently considered "ready."  I plan to make you reload the ready racks in a future version, but I really need a way to make the AI do likewise.

The default M1A1 loadout is as follows:
27 -- M829A2 APFSDS   (12 ready, 12 semi-ready, 3 stowed)
13 -- M830A1 MPAT      (5 ready, 5 semi-ready, 3 stowed)
4  -- 2800 round belts for the M240C coaxial
10 -- 100 round ammo boxes for the commander's M2HB

The default T-72M loadout is as follows:
13 -- 3VBM17 (BM-42) APFSDS  (8 in autoloader, 5 stowed)
17 -- 3VOF36 (OF-26) HEF-FS   (10 in autoloader, 7 stowed)
14 -- 3VBK17 (BK-21) HEAT-FS  (4 in autoloader, 10 stowed)
8  --  250 round ammo boxes for the PKT coaxial
1  --  150 round ammo box in the DShKM anti-aircraft gun (which really needs to be an NSVT)
3  --  50 round ammo boxes for the DShKM anti-aircraft gun (1 ready, 2 strapped to the side of the turret)

A mostly-realistic T-72B loadout would the the following, if that's your kind of thing:
13 -- 3VBM17 (BM-42) APFSDS  (8 in autoloader, 5 stowed)
13 -- 3VOF36 (OF-26) HEF-FS   (8 in autoloader, 5 stowed)
14 -- 3VBK25 (BK-29) HEAT-FS  (4 in autoloader, 10 stowed)
5  -- 9M119 "Svir" ATGM (2 in autoloader, 3 stowed)
8  --  250 round ammo boxes for the PKT coaxial
1  --  150 round ammo box in the DShKM anti-aircraft gun (which really needs to be an NSVT)
3  --  50 round ammo boxes for the DShKM anti-aircraft gun (1 ready, 2 strapped to the side of the turret)

The magazine names (with descriptions) are as follows:
NWD_M829A1  --  "Silver Bullet" of ODS fame (not yet in FCS)
NWD_M829A2  --  most common APFSDS in current inventory (in default loadout)
NWD_M829A3  --  new, world-beater APFSDS round (not yet in FCS)
NWD_M830      --  dedicated HEAT round, being phased out in favor of MPAT (in FCS, but not in default loadouts)
NWD_M830A1  --  multipurpose explosive round. Not good at anything in particular, but has a proximity fuse for anti-air duty (in default loadout)
NWD_M908     --  obstacle reduction round, made for rubbling buildings.  It doesn't really work right in ArmA (in the FCS as "MPAT," but not in default loadouts)
NWD_M1028    --  Canister round, contains 1,150 3/8" tungsten balls fired at 1400 m/s (not in FCS, and not recommended for online play)
2800Rnd_762x51_M240
100Rnd_127x99_M2

NWD_3VOF36  --  Modern 3OF-26 high explosive shell, roughly equivalent to 122mm artillery (in default loadout)
NWD_3VBK17  --  Mid-80's 3BK-21 HEAT shell, equivalent to 3BM-42 in penetration but with horrible ballistics (in default loadout)
NWD_3VBK25  --  Early-90's 3BK-29 HEAT shell, with improved ballistics (unfinished, and not in the FCS anyway)
NWD_3VBM17  --  Mid-80's 3BM-42 APFSDS round, now offered for export (in default loadout)
NWD_9M119    --  "Svir" ATGM, used in T-72B for long-range engagements.  It doesn't work right in ArmA.
250Rnd_762x54_PKT
150Rnd_127x108_NSV
50Rnd_127x108_NSV
--------------------------------------------

This mod is currently to be regarded as beta.  There may be any number of bugs in this mod, and I haven't tested it online at all.  This version should be more multiplayer compatible than the last, but I don't know very much about multiplayer scripting in ArmA.  

I still need to add:
-- commanders' optics
-- night sights
-- trunnion tilt corrections
-- manual range entry
-- smoke dischargers
-- fixed lead when traversing through dead south
-- emergency turret control

I found a very interesting feature in the damage model that's not used by default in ArmA -- the "turret" damage.  If the turret selection is destroyed, turret traverse and gun elevation is frozen, and gun stabilization is disabled.  If I add new, user controlled turret traverse and gun elevation animations to the model I should be able to implement manual turret controls for use if the turret is damaged.  And it should work just like the real thing.  Detecting turret damage may be very difficult, however.  

As this mod no longer relies on GUI controls for the reticles, it no longer causes problems on 5:4 aspect ratio displays.  The range numbers may be slightly offset from where they should be, but it shouldn't be noticeable.

Reticle motion is not as smooth as in the last version, unfortunately.  The worst case is firing on a moving target from a moving Abrams tank.  High frame rates will mitigate this somewhat.  I may be able to improve the smoothness in future versions.  

Repeatedly switching from the gunner's seat to other seats in the tank with a flashing range number may throw errors.  Just battlesight before you switch positions until I figure this out.

--------------------------------------------

Version History

v0.2
 -- AI T-72s now load APFSDS by default
 -- AI tanks no longer try to attack by firing their rangefinders into the sky (???)
 -- New T-72 machine gun ammo loadout (this should be the correct loadout, regardless of what you may find online)
 -- many new ammunition types added to the config, although not yet programmed into the FCS.  
 -- New tank models, with many new features:
   - all reticles are now fixed in scale, and are accurate at any zoom level.  Both tanks have two field of view levels that will automatically toggle when you zoom in or out by the appropriate amount (as long as you use the keyboard for zoom).  
   - T-72 turret is now declined 1°13' forward, as it should be
   - T-72 driver can now unbutton (but the turret is locked to +12.5 degrees when he does)
   - T-72 commander's AA machine gun is now mounted on the rear of the cupola, and can no longer be fired from within the tank (the AI does not unbutton in combat, however, and thus will never use it)
   - M1A1 commander's weapon station is remodeled to look (kind of) like the real thing
   - M1A1 commander's machine gun can now only be fired from inside the tank or (unaimed) from a semi-buttoned position.  You are currently not more protected when semi-buttoned than when unbuttoned.  If you play with external views, you will still be able to fire ( and aim! ) the gun from the external view.  You can also, due to a limitation in ArmA, zoom in to 3x magnification when semi-buttoned and looking through the vision block.  
   - M1A1 gun superelevation is now applied by physically moving the gun barrel after you lase, instead of moving the shell when it's fired.  
   - M1A1 dynamic lead is now applied by directly rotating the turret, and not by rotating the hull

-----------------
v0.1
 -- First Release