SOFLAM Integration Core

by Seebie90 I Nomad

2.0.1

==============================================================
  2026-10-17 - HOTFIX
==============================================================

FIXED

- ENTERING OR LEAVING THE TRIPOD COULD PUT A PLAYER UNDER THE MAP. On a map
  with a terrain fault the ground measurement under the tripod's door can hit
  something far below, or nothing at all. The door points followed it: the
  entry point sank into the ground and the exit point ended up beneath the
  map. The measured height is now only used when it lies within what a tripod
  on a slope of up to 35 degrees can produce, 1.6 m from the tripod's own
  height. Otherwise the door keeps the height from the prefab, and the log
  gets one warning with the position, so a faulty spot on a map can be found.
Game Version
1.8.0.13
Created
Sun, 18 Oct 2026 12:16:59 GMT
Last Modified
Sun, 18 Oct 2026 12:17:27 GMT

2.0.0

MAJOR UPDATE - UPDATE THE AH-64 SOFLAM MOD TOGETHER WITH THIS ONE

Both were rebuilt and have to be the same version.


THE TRIPOD WORKS ON SLOPES

- "Use SOFLAM" no longer reads "obstructed" on a hillside. The height map sat
  up to 0.6 m below the surface you actually stand on, which put the door
  points 0.3 m inside the ground. Door points and legs now take the real
  surface, measured by a trace instead of read from the map.
- Each leg is solved on its own until its foot really lands: while it extends
  along its slanted axis the foot slides 0.2 - 0.35 m sideways.
- The slope limit for assembling is 35 degrees instead of 25.
- Aiming no longer drops the frame rate. The leg and door geometry was
  recomputed on every aim update, which is every frame; it is now measured only
  when the height or the placement changes.

TRIPOD AND DESIGNATOR ARE ASSEMBLED, NOT MOUNTED

The two-step route is gone. Instead of deploying the tripod and then mounting
the device, you drop the folded tripod, look at it, and "Assemble" builds it
together with a SOFLAM from your inventory. A ghost shows the result first.
Both parts are consumed; "Pack Up Tripod" gives both back, separately. No
entrenching tool needed.

"Mount Designator" and "Collect Designator" are removed. The second one was
harmful: it left a tripod with no device, and in that state "Use SOFLAM"
disappears.


THE MOUNTED DEVICE IS NOW VISIBLE ON DEDICATED SERVERS

It existed for the server and for nobody else - the reason the previous build
listed replication as untested. Our mounted prefab inherited Weapon_Base, an
abstract base that carries a weapon animation component but no animation graph.
Without a graph the entity initialisation aborts and the engine returns an empty
shell: no model, no components, and no replication component. Nothing to
replicate, so no client ever saw it.

  Server  slot 1 | weapon 1 | designator false | Rpl false | children 9
  Client  slot 1 | weapon 0 | prefab -         |           | children 8


THE GUNNER NO LONGER RIDES UP WITH THE LEGS

Listed as open last time. Extending the legs lifted the whole tripod, seat
included:

  legs 0.94 | lift 0.5045 | root above ground 0.5045 | gunner 0.5045

The seat cannot be moved at runtime, so the root now stays on the ground and
the structure rises instead. Same world positions, different frame of
reference - measured, gunner and root stay at 0.


TRACKING WORKS FROM THE GUNNER SEAT

Tracking shipped last time, but only ever worked with nobody at the device.
Sitting in the turret, locking on threw the mount 180 degrees off and froze it
there. The engine's SetAimingAngles takes radians and was being given degrees,
so both axes ran into their limits - elevation read exactly 45.000, the stop
value. From outside it looked correct, because the ball head follows through a
second call that was already in radians.

  before   sight axis off by 133.3 degrees
  after    off by 0.13 degrees, most of it parallax in the measurement itself

Helicopters were checked as well, against a Mi-8 over 80 to 167 m and 49
degrees of bearing. Above 45 degrees of elevation the mount reaches its limit -
that is the hardware.


THE MOUNT NO LONGER STEPS WHILE TRACKING

Different from the view stutter fixed in the previous build. Aiming and the
target point hung on a throttle meant for network updates, so the mount moved
in ten steps a second while the picture ran at 60 and more. Both now update
every frame while the target moves, and drop back to 10 Hz when it stands
still. Network traffic is unchanged.

Sideways lag fell from 0.64 degrees to under 0.023 - about 7 cm at 166 m.


SMALLER CHANGES

- The tripod now actually appears in the arsenal. It was announced last build,
  but sat in the Equipment list while deployable parts have their own catalog
  list, so it was never shown. Rank PRIVATE, 15 supplies.
- Six duplicate GUIDs in the turret prefab, four of them older than this build.
  Two were shared between the compartment door and the height actions.
- The folded tripod no longer renders as a duffel bag when dropped.
- The assemble preview shows our tripod instead of vanilla's M3.
- The device follows the ball head as the legs and column move.


STILL OPEN

- The sight lags one step behind when the height is changed very fast.
- Placing straight from a quick slot, ghost in hand. That belongs to the gadget
  placement system, not to deployables; no vanilla prefab combines the two.
Game Version
1.8.0.13
Created
Sat, 10 Oct 2026 09:20:06 GMT
Last Modified
Sat, 10 Oct 2026 09:20:25 GMT

1.0.2

TRACKING NOW SHARES THE SAME TRUTH ON EVERY MACHINE

Five fixes, all found the same way: comparing what the server logged against
what each client logged for the same shot.

TRACKING WAS NEVER ACTUALLY NETWORKED

The turret tracked correctly wherever the operator was, but the tracking
state itself - on/off, and which target - lived only in a local variable.
The server runs its own copy of the same update loop and always sends
directly, never through a relay, so it had its own tracking state that
simply stayed off. Result: the server's own (usually wrong) camera-based aim
raced against the operator's correct one, and whichever update landed last
won - looking, from outside, like a missile that flew correctly and then
veered off for no reason. Tracking on/off is now sent the same way a target
create or update already was, so every machine agrees on it.

WALKING AWAY NO LONGER DRAGS THE LASER WITH YOU

The aim point was re-measured from the current camera every frame, including
cases where nobody was actually looking through the device - walking off,
getting into another vehicle. Now it only re-measures while the operator is
aiming through this SOFLAM specifically; otherwise it holds the last real
measurement.

A LASER MARK NO LONGER OUTLIVES ITS DEVICE

Turning the laser off now also cleans up locally before the network message
goes out, instead of only after. If that message never arrives - device
destroyed, no relay available - the mark used to keep existing on other
machines with nothing left to remove it.

TWO NETWORK RELIABILITY FIXES FOR THE SAME SYMPTOM

Stray unreliable target-update packets arriving late could recreate a mark
right after it was removed, leaving a corpse with no operator behind it.
That update now goes over a reliable channel. On top of that, every mark now
expires on its own after five seconds without an update, regardless of why
the update stopped coming - closing the gap for any future case that does
the same thing.

EACH TRIPOD LEG NOW REACHES THE GROUND INDEPENDENTLY

The base itself no longer tilts to match sloped ground - it stays level,
which was needed so the head's aim-tilt limit stops clipping early and
unevenly on a slope. That only works if each of the three legs can extend to
a different length for its own patch of ground, instead of all three
sharing one length. Verified live: legs reach uneven ground correctly, base
stays level.

TWO SMALLER FIXES

- Getting out of the turret when nobody had ever actually locked a weapon in
  no longer failed to hand back the seat correctly (the aim-axis lookup now
  retries the weapon selection the same way getting in already did).
- Getting into the tripod's turret was blocked on flat ground in a way that
  had nothing to do with the leg height fixes - a leftover override meant
  for two edge cases was also silently catching the ordinary case. Removed;
  the vehicle's own door-pick logic already handles it correctly.
Game Version
1.8.0.13
Created
Sat, 19 Sep 2026 19:43:12 GMT
Last Modified
Sat, 19 Sep 2026 19:43:39 GMT

1.0.1

Disabled Logging
Game Version
1.8.0.13
Created
Mon, 07 Sep 2026 18:26:33 GMT
Last Modified
Mon, 07 Sep 2026 18:26:54 GMT

1.0.0

Game Version
1.8.0.13
Created
Mon, 07 Sep 2026 17:17:42 GMT
Last Modified
Mon, 07 Sep 2026 17:18:02 GMT

Showing 1 to 5 of 5 results

Rows per page