AH-64 SOFLAM Integration

by Seebie90 I Nomad

1.0.2

==============================================================
  2026-09-19 - NEW GUNNER SCREEN: WEAPON STATUS
==============================================================

The gunner's radio screen now shows the full weapon status at a glance:
remaining rounds per station (Hellfire, Maverick, 70mm rocket pod, AIM-92),
cannon ammo, the laser code currently set, the attack mode (DIR/LOBL/LO/HI),
and whether the seeker is currently locked onto your own code (ACQ TADS /
ACQ DESIG).

This replaces having to guess your loadout state or check a separate screen.
It works the same way across all four AH-64 loadouts (pure Hellfire, pure
Maverick, and the two mixed rocket variants) - each shows exactly the
stations that loadout actually carries.
Game Version
1.8.0.13
Created
Sat, 19 Sep 2026 19:53:30 GMT
Last Modified
Sat, 19 Sep 2026 19:53:34 GMT

1.0.1

Disabled (Debug) Logging
Game Version
1.8.0.13
Created
Mon, 07 Sep 2026 18:27:59 GMT
Last Modified
Mon, 07 Sep 2026 18:28:07 GMT

1.0.0

Corrected misspelled Mod Titel
Game Version
1.8.0.13
Created
Mon, 07 Sep 2026 17:31:36 GMT
Last Modified
Mon, 07 Sep 2026 17:31:45 GMT

0.1.6

==============================================================
  IMPORTANT - THIS VERSION NEEDS A DIFFERENT DEPENDENCY
==============================================================

RVX Core is no longer required. This mod now needs
"SOFLAM Integration Core" instead. Please subscribe to it before
updating, or the mod will not load.

Why: RVX Core stopped compiling with current WCS Armaments in August.
One call in RVX_WCS_LoadoutOverrides.c still uses the old signature of
CreateWeaponQueueClient. In Reforger every loaded mod is compiled into
one shared script module, so that single error takes the whole module
down - your server starts, but the game logic is gone. It cannot be
patched from another mod either, because patch code only becomes active
after a successful compile, and the compile is what fails.

We could not keep building on something that stops the game from
loading. So the parts we used from RVX were rewritten in our own Core.


==============================================================
  HALF THE HELLFIRES NO LONGER FALL OFF THE RAIL
==============================================================

Of the 16 Hellfires on the AH-64, exactly 8 dropped instead of flying.
Every load, every time. That is fixed.

The M299 carries four missiles in two rows, 0.34 m apart. The upper row
sat so close to the pod body that the engine refused to apply the launch
impulse. Those missiles left the rail with nothing but the aircraft's own
velocity and then fell at 9.7 m/s^2. The launcher serves the upper row of
all four pods first, which is why it was always eight duds followed by
eight good ones.

One attribute on the pod fixes it: the missile is pushed clear before the
engine launches it. All 16 now leave the rail at 78 - 94 m/s.

Two earlier explanations were wrong and are withdrawn. The drops were
blamed on firing from a grounded helicopter - loads fired from 67 m,
118 m, 140 m and from the ground all behaved identically. The old
hit-rate figure (20 missiles, 2 hits, 7 dropped) has to go as well: those
7 were rail duds, not guidance failures, so the sample was never clean.


==============================================================
  UNDER THE HOOD
==============================================================

Three small classes replaced what we used from RVX - the laser code
store, the cockpit code dials and the missile flight computer. A
1232-line file went away entirely because the Core does the same natively.

Laser codes in the cockpit, target display, code hand-off to the missile
and the Core's target registry were all verified after the change: the
seeker reports guidance with the correct code and a target position that
matches the SOFLAM entry exactly.


STILL OPEN

- The hit pattern is not good yet. Missiles fly and guide, but accuracy
  needs more work.

STANDING NOTE

- Do not run "WCS AH-64D Upgrade". It breaks the AH-64 turret regardless
  of this mod. Details in the previous changelog.
Game Version
1.8.0.13
Created
Mon, 07 Sep 2026 17:29:53 GMT
Last Modified
Mon, 07 Sep 2026 17:30:01 GMT

0.1.5

==============================================================
  READ THIS FIRST - DO NOT RUN THE "WCS AH-64D UPGRADE" MOD
==============================================================

WCS_AH-64D_Upgrade breaks the AH-64 turret. Remove it from your server.

This is NOT caused by this mod. We verified it with our mod completely
unloaded - the damage happens anyway.

Measured turret traverse (peak value, full sweep, three separate runs):

  without RHS ......................  55 - 327 deg/s   no exceptions
  with RHS, WITHOUT the Upgrade mod   29 - 149 deg/s   no exceptions
  with RHS + the Upgrade mod ......  0.8 -   2 deg/s   exception EVERY FRAME

That is a factor of roughly 50 to 100. The turret becomes unusable, and the
log fills with "Virtual Machine Exception" - around 1650 to 1950 per session.

Everything works with RHS as long as the Upgrade mod is absent. You do not
have to choose between RHS and this mod. You have to drop the Upgrade mod.


==============================================================
  FOR PLAYERS
==============================================================

FIXED

- Gunner thermal now works at every zoom step. Previously the thermal filter
  stayed on the camera of whichever zoom step you switched it on at, and was
  invisible in all the others.

- Turret stabilisation is back. The turret no longer inherits from a base that
  a third-party mod can strip of its stabilisation component.

CHANGED

- Gunner vision mode moved from N to J. In large mod collections N never
  reaches the action - see "Known key conflicts" below.

KNOWN KEY CONFLICTS

Some default keys never reach their action in a large mod collection. The
action exists and shows up correctly bound in the options menu - it simply
never fires. This looks like a broken mod, but it is a binding conflict.

  N      Gunner vision mode (this mod)
         FIXED - default changed to J. Not even LSHIFT + N got through.

  SPACE  WCS turret stabilisation
         REBIND IT YOURSELF - it only toggles OUTSIDE the ADS/TADS view.
         This is a WCS action, so we cannot change its default.
         Any free key works.

If some other action of ours stops working after a mod update, rebind it to a
free key before reporting a bug. That test takes two minutes and resolves most
of these cases.


==============================================================
  FOR DEVELOPERS
==============================================================

TURRET NO LONGER INHERITS FROM A HIJACKABLE BASE

Our turret variants used to inherit from
{1ADCF96B823E122A}AH64D_Turret_Base.et (WCS_AH-64D). WCS_AH-64D_Upgrade claims
exactly that GUID and swaps classes under the SAME component GUIDs:

  {51ACD09C61C183E4}
      WCS_AH-64D  : SCR_TurretControllerComponent
      Upgrade mod : RHS_StabilizedTurretControllerComponent

  {6292FABB53F6B6CF}
      WCS_AH-64D  : SCR_2DSightsComponent
      Upgrade mod : RHS_2DSightsComponentV2

  {62BCF5753C4E28A8}
      WCS_AH-64D  : WCS_Armament_TurretStabilizationComponent
      Upgrade mod : REMOVED ENTIRELY

We now inherit from our own 1:1 copy of the original,
GTG_AH64D_Turret_Base.et ({7C1E5A3D9B4F2610}). No load-order lottery, no
dependency on the Upgrade mod, identical behaviour with and without RHS.

This restores the WCS stabilisation component. It does NOT fix the traverse
speed - that is not inherited, and it is not ours to fix.

WHY THE EXCEPTION FIRES

RHS_SightStabilizationInfo.OnSightADSPostFrame dereferences
m_TurretStabilizationComponent without a null check. It looks for
RHS_TurretStabilizationComponent, but the Upgrade mod installs
RHS_StabilizedTurretControllerComponent - a different class from a different
base. A version mismatch between two third-party mods.

RULED OUT - DO NOT CHASE THESE AGAIN

- The skipped super call in
  RHS_StabilizedTurretControllerComponent.OnPrepareControls. Re-activating the
  missing vanilla contexts changed the traverse rate by nothing.
- Our own inheritance chain. It demonstrably takes effect and changes nothing.
- RVX_Core. The fault occurs without it.
- Duplicate mod copies on disk. Real, and they did corrupt several test runs -
  but not the cause.

The test that settled it in one run: load the game WITHOUT our own mod. For a
fault that only appears in a specific mod combination, that belongs at the
start of the investigation, not the end.
Game Version
1.7.0.54
Created
Mon, 10 Aug 2026 16:07:59 GMT
Last Modified
Mon, 10 Aug 2026 16:08:06 GMT

0.1.4

Added
Apache gunner thermal. New GTG_AH64_GunnerVisionComponent on the AH-64D turret. Thermal only (no night vision), and available exclusively in the TADS view — the normal cockpit view is unaffected. Toggled with N, white-hot/black-hot and gain via Shift+mouse wheel.
Dedicated keybinding category "AH-64 / SOFLAM" in the controls menu, listing all four mod actions.
RHS-free building blocks. Own implementations replacing the previously required RHS classes: IR light entity, night-vision visibility gate, and HDR screen-effect handling.
Coexistence handling for RHS and the WCS AH-64D Upgrade mod. The gunner component detects at runtime whether a working RHS thermal is present on the turret and steps aside if so — otherwise it takes over. Detection uses runtime reflection, so no compile-time dependency on RHS is introduced.

Changed
Dependencies reduced from 7 to 4. RHS – Status Quo, WCS AH-64D Upgrade and AKI_Core_Upgrade are no longer required. Remaining: Vanilla core, WCS Armaments, WCS AH-64D, RVX Core.
Laser designation point is now anchored to the camera centre axis. The 5-ray probe bundle still determines the distance to the target, but no longer the direction. The designation point — and with it the beam and the gunner's marker — now sits exactly under the crosshair. Expect up to ~0.5 m difference at 250 m compared to previous builds.
Beam light range is clamped to the measured target distance each frame instead of always projecting the full 500 m.

Fixed
Keybindings were never registered. The mod's three input configs shipped without .meta files, so the engine never loaded them — Enfusion resolves system configs by GUID, not by path. They now carry the vanilla GUIDs and merge correctly alongside RVX Core, WCS Armaments and RHS.
Shift+mouse wheel was broken. Holding Shift alone immediately changed brightness / toggled the thermal filter, and wheel-down did nothing. The gain actions now use Type AnalogRelative with Limit 1, and the modifier combos follow the vanilla pattern.
Laser beam wandered off target. The beam swept sideways depending on view direction, drifting by roughly the probe-bundle spread and flipping sign between frames.
Removed an accidental override of RHS's Laser_perst_classic_base.et. A 2-line stub had claimed RHS's resource GUID, which is referenced by 38 RHS weapon prefabs. On servers running both mods this could have stripped those weapons of their laser configuration depending on load order.
Gunner thermal no longer produces a night-vision-like image, and no longer activates outside the TADS view.
Log spam reduced. Per-frame diagnostic output (previously ~6000 lines in 20 seconds) is now behind a compile-time switch, off by default.

Removed
Three dead ActivateContext("GTG_SoflamVisionContext") calls that ran every frame against a context that no longer exists. Mod actions are hooked additively into the vanilla CharacterWeaponContext and TurretContext.
Known issues
When the WCS AH-64D Upgrade mod is present together with RHS, RHS's own RHS_SightStabilizationInfo throws a null reference every frame while in ADS. Cause is outside this mod: the Upgrade mod's turret ships RHS_StabilizedTurretControllerComponent, while RHS's sight handler expects RHS_TurretStabilizationComponent. This mod detects the situation and provides thermal itself, but the log entries persist until the Upgrade mod is updated.
Game Version
1.7.0.54
Created
Wed, 05 Aug 2026 19:53:49 GMT
Last Modified
Wed, 05 Aug 2026 19:53:57 GMT

0.1.3

Changed / Fixed

SOFLAM laser beam used to disappear when aiming steeply downward → fixed (light source recalibrated, based on RHS' own reference configuration)
SOFLAM rangefinder trace could hit the operator's own body at steep angles → fixed
Missile flight path: pitched into the terminal dive too early on LO/HI modes → fixed (progress now measured on horizontal instead of 3D distance)
DIR mode: slight correction against a short-shot tendency
Missile terminal maneuverability capped to a proven value → less scatter/fewer misses on impact
Red terrain-warning "X": toned down (more subtle, thinner)
Laser code readout: moved closer to the target marker

Added

Per-mode terrain check (warns if a target is unreachable behind a ridge for the currently selected attack mode)
New hint text under the target marker explaining WHY a shot can't currently land (too close/too far, or terrain in the way)
Warning for targets beyond the missile's effective maximum range
Game Version
1.7.0.54
Created
Sun, 02 Aug 2026 14:06:38 GMT
Last Modified
Sun, 02 Aug 2026 14:06:44 GMT

0.1.2

Addet: Missle Attack Profiles DIR/ LOBL / LO / HI can be Changed via standart Next Weapon Firing Mode and yo get a Red X if its sure you are to close for a Possible Hit in the Selected Profile
Game Version
1.7.0.54
Created
Fri, 31 Jul 2026 19:39:04 GMT
Last Modified
Fri, 31 Jul 2026 19:39:11 GMT

0.1.1

Fixed inisible IR laser send out by SOFLAME  for outher clients that wer not the user of the SOFLAME
Fixed Laser emitting position on SOFLAME
Game Version
1.7.0.54
Created
Thu, 30 Jul 2026 20:21:59 GMT
Last Modified
Thu, 30 Jul 2026 20:22:07 GMT

0.1.0

Addet Thermal and Night Vision to the SOFLAME Divice 

it is now Possible to see the Laser with Nghtvision 

addet indikator fo View Mode right next to the Azimuth display 

NORM = Without any optical helpers
THERM= Thermal immaging with WH and BH 
NV= Night Vision mode  you should see now your ohn laser beam Brightness Increase and Decreas is yust like on the NVG´s
Game Version
1.7.0.54
Created
Thu, 30 Jul 2026 17:03:51 GMT
Last Modified
Thu, 30 Jul 2026 17:03:58 GMT

0.0.9

Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 16:14:53 GMT
Last Modified
Tue, 28 Jul 2026 16:14:58 GMT

0.0.8

Further Multiplayer debugging
Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 15:47:47 GMT
Last Modified
Tue, 28 Jul 2026 15:47:54 GMT

0.0.7

Debuggin Tool for render Distance Aktivatet
Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 15:37:55 GMT
Last Modified
Tue, 28 Jul 2026 15:37:59 GMT

0.0.6

Changed marker render Distanz for Seeing Marker while being out of Client / Srever  Render Diatance.
Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 15:25:08 GMT
Last Modified
Tue, 28 Jul 2026 15:25:14 GMT

0.0.5

Set up Visual markers for Gunners identifikation of Laser Codes everything explained so far in the Screenshot
Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 14:57:01 GMT
Last Modified
Tue, 28 Jul 2026 14:57:08 GMT

0.0.4

Expandet the Description with a How to
Game Version
1.7.0.54
Created
Tue, 28 Jul 2026 11:28:37 GMT
Last Modified
Tue, 28 Jul 2026 11:28:42 GMT

0.0.3

Game Version
1.7.0.54
Created
Mon, 27 Jul 2026 15:56:14 GMT
Last Modified
Mon, 27 Jul 2026 15:56:19 GMT

0.0.2

Game Version
1.7.0.54
Created
Mon, 27 Jul 2026 15:37:06 GMT
Last Modified
Mon, 27 Jul 2026 15:37:11 GMT

0.0.1

Game Version
1.7.0.54
Created
Mon, 27 Jul 2026 13:59:38 GMT
Last Modified
Mon, 27 Jul 2026 13:59:46 GMT

Showing 1 to 19 of 19 results

Rows per page