Joint Targeting & Designation System (JTDS) Semi-Active Laser Homing Overhaul for World in Conflict MW Mod 4.0 2013/01/04 Previously, Semi-Active Laser Homing (SALH) functioned by looking up the target unit's game ID data (wic.game/EXGame ID), then referring it to a list of laser "tags" (laser designations) to see if there is a match found. Because EXGame lookup is an expensive process from performance perspective, I had to optimize it by only allowing vehicle & air targets to be looked up for laser tags. As a result, infantry could not be lased, and blank terrain or buildings and bridges could not be lased either. :( It didn't take long for people to notice that they couldn't guide Hellfire against anything but vehicles... kind of boring, but it was manageable. However, with FLINT 3.0 engine, we are now introducing laser-guided free-fall precision guided munitions (PGMs) such as laser guided bombs, SDB II, etc. These new free-falling PGMs have a unique requirement -- they *MUST* allow the infantry player to attack buildings and bridges! PGM laser homing seekers must be able to lock onto a laser source without having to look it up from a vehicle or tank target. So... time to rewrite the Semi-Active Laser Homing (SALH) code :-) New Universal SALH Code - to be compatible with AGM-114R Hellfire, Laser Guided Bombs and SDB II in game. The new Universal SALH code takes the old laser guidance code and expands that into two tag types -- 0x8102 and 0x88a8. The old method of looking up laser tags from game units is now moved into the "Inner Tag" of 0x88a8. This old method will continue to be used for game units that self-lase targets for themselves. An example is an Apache or Cobra launching a Hellfire missile and lasing it by itself with its own TADS illuminator. Since self-lasing is typically done when no teamwork is present, or when air player is new to the game, we really don't need the ability to target blank terrain, bridges or infantry -- as long as they can target vehicles, we're all good. However, it now introduces a new left side "Outer Tag" (0x8102) for expanded laser codes. The new Outer Tag is to be used exclusively by JTAC/JTDS users -- infantry laser designators. The Outer Tag is a supreme Engineering Porn for an RTS game. Rather than looking up for tags off of target vehicle/tank units, each infantry designator is assigned with a dedicated Pulse Repetition Frequency (PRF) code, just like in the real world. Now, everytime an infantry JTAC fires off his laser to whatever target the player designates (even blank ground terrain), the laser 'null' projectiles are fired along with the unit's unique PRF code for each shot. The frequency of laser projectiles are modulated between 0.037 to 0.2 seconds depending on the designating unit's assigned PRF code. A very rudimentary ghetto form of Pulse Code Modulation (PCM) is used to distinguish different laser codes amongst several JTACs. +--------------------------------------------------------------------+--------------------------------------------------------------------+ | JTAC/Joint Targeting & Designation System Tag | Local Target Acquisition & Designation Sight (TADS) Tag | | TPID 0x8102, Pulse Code Modulation for Laser Sources | TPID 0x88A8, wic.game EXGame Unit Lookup (Slow..) | | | | | Up to 256 simultaneous laser designations, can target infantry | Used for self-lasing by launching aircraft (ie Apache) w/o help of | | and blank terrain. Each JTAC gets assigned with discrete laser | remote designator. WICG Unit ID is used to obtain position data. | | designator Pulse Repetition Frequency (PRF) code. | Cannot target infantry nor terrain, must target vehicle unit only. | +-------------------------+------------------------------------------+--------------------------+-----------------------------------------+ | Outer Tag | Tag Control Information | Inner Tag | Tag Control Information | | Modulated PRF Code | Semi-Active Homing LOS/Azimuth Angles | TADS Self-Lasing Unit ID | WICG Unit ID Lookup to obtain | | | | | target positional data | | 1-byte | 7-bytes | 1-byte | 1-byte | | (256 Laser Designators) | | (256 Laser Sources) | | +-------------------------+------------------------------------------+--------------------------+-----------------------------------------+ By having the laser designations into two separate "tags" (inner and outer tags), every Hellfire missile or laser-guided PGM in game is now launched with dual-tag header in their homing search routines. Every time a missile is fired, it is launched with Inner Tag ID set to the launching aircraft's TADS designator. On top of that, the missile is also assigned with a set of all possible PRF codes used by JTACs on its Outer Tag. The missile seeker will search for Outer Tags first, locking onto the nearest laser "event pulses" from a matching infantry PRF code. If there are multiple laser designations from several JTACs, each missile will lock onto unique PRF codes to allow multiple simultaneous engagement. If no further infantry PRF codes are available, the missile will fall back to the Inner Tag and lock onto the laser provided by the launching aircraft's own TADS illuminator. If the Inner Tag is not lased either, then the missile finally loses guidance and goes ballistic. If the missile has Inertial Navigation System, it will switch to inertial mode and continue searching for new laser sources until it ditches to ground.