
With Tacview 1.5 a new universal public file format has been introduced. The goal was to overcome the complexity of the previous format while making it much more powerful at the same time.
Like its predecessor, the new file format is written in plain UTF-8 text. That way, it is possible to easily export flight data from the simplest programming language. Its syntax is very easy to read by humans and, with the debug log introduced in Tacview 1.4.3, it is now very easy to diagnose any exporter issues. This new format is so simple that it could even be written by hand if the amount of data was not astronomic!
Despite its simplicity, the new format offers a very powerful way to set and change – in real-time – any property of any object on the battlefield. For instance, it is now possible to change the coalition, the color, even the type of an object, on the fly! In the same way, you can easily assign and change global properties, like the weather for example.
It is important to note that data which are not yet supported by Tacview are preserved and visible in the raw telemetry window. If you think that an important data should be natively supported and displayed by Tacview, feel free to contact us.
Without further ado, let's start with the simplest file possible:
FileType=text/acmi/tacview
FileVersion=2.2
These are the only two mandatory lines you must put first in any ACMI file. This header tells Tacview which format to expect. Any following data is optional.
Let's be rational: Even if Tacview will gracefully load this empty file, we need a bit more data to make it useful! Here is a file which makes more sense:
FileType=text/acmi/tacview
FileVersion=2.2
0,ReferenceTime=2011-06-02T05:00:00Z
#47.13
3000102,T=41.6251307|41.5910417|2000.14,Name=C172
To better understand this structure, we need to know that – apart from its header – each line of the file can be either:
Let's see in detail each line syntax:
0,ReferenceTime=2011-06-02T05:00:00Z
This line assigns the value 2011-06-02T05:00:00Z to the property ReferenceTime of the global object always designated by its id zero 0. This line defines the base/reference time used for the whole flight recording. To understand better what this means, let's have a look at the following line:
#47.13
This line defines a time-frame in seconds relative to ReferenceTime. This means that the following events or properties happened at ReferenceTime + 47.13 seconds → 2011-06-02T05:00:00Z + 47.13 → 2011-06-02T05:00:47.13Z.
Now let's see the following line:
3000102,T=41.6251307|41.5910417|2000.14,Name=C172
This line defines two properties for the object 3000102. To save space, Object ids are expressed in hexadecimal without any prefix or leading zeros.
The first property T (which stands for Transform) is a special property used to define the object coordinates in space. For now, let's just focus on the syntax: T = Longitude | Latitude | Altitude.
Notice that Latitude and Longitude are expressed in degrees. Positive values are toward the north and east directions. Since the whole file is always in the metric system, the altitude is expressed in meters MSL (above sea level, also known as ASL).
The following property Name defines the object name C172, which is a short way of designating a Cessna 172 aircraft.
Now that you know all the basics to create a flight recording, let's move our new aircraft a bit further to the east. To do so, we can simply add another frame to our file:
#49
3000102,T=41.626||
As you can see, we have defined a new longitude value 41.626 for our aircraft at the time frame 2011-06-02T05:00:49Z.
You may have noticed that we don't need to specify the aircraft name again, simply because it has not changed since the last time! Also, we omitted the latitude and altitude parameters because they did not change either. This helps to save a lot of space during long flight recordings. This optimization is especially relevant for ground objects which may remain still or move only slightly.
Now that you are starting to understand better how ACMI files are structured, let's review together the requirements and some tips related to the file format in general:
Briefing=Here is a text value\, which contains an escaped comma in it!
Now let's have a closer look at the different notations for object coordinates. To optimize the file size, Tacview offers four different notations.
Here are two examples: When exporting a bullet coordinate, we do not need any data about its rotation angles. The opposite example would be an aircraft in a flight simulator running in a flat world like Falcon 4.0: In that case, to get accurate replay, we should export the native position of the aircraft in the flat world, its rotation, and its coordinates in a spherical world. That way the aircraft will not only be properly displayed in Tacview's spherical world, but telemetry calculation will be done in the object's native coordinate system so the numbers visible on screen will match the ones you can see in the original flight simulator.
| Object Position Syntax | Purpose |
|---|---|
| T = Longitude | Latitude | Altitude | Simple objects in a spherical world (typically minor objects like bullets). Can also be relevant for low-end data sources like GPX files without rotation information. |
| T = Longitude | Latitude | Altitude | U | V | Simple objects from a flat world. U and V represent the native x and y. Remember to express them in meters even if the original coordinates are in feet. Altitude is not repeated because it is the same for both native and spherical worlds. |
| T = Longitude | Latitude | Altitude | Roll | Pitch | Yaw | Complex objects in a spherical world. Roll is positive when rolling the aircraft to the right. Pitch is positive when taking-off. Yaw is clockwise relative to the true north. |
| T = Longitude | Latitude | Altitude | Roll | Pitch | Yaw | U | V | Heading | Complex objects from a flat world. Same as above. Heading is the yaw relative to the true north of the flat world. It is required because the native world north usually does not match the spherical world north due to projection errors. |
Remember that you can omit the components that did not change since the last time. This will save a lot of space.
If some data is missing (for example object rotation), Tacview will try to emulate it to give a realistic replay. Independently from optimization, you should keep the same data notation for each object during its lifetime. If at some point you use a different notation, Tacview will promote the object to a more complex one, but because of the initial lack of data the final result may not always be what you expect.
We already saw that one of the most important global properties is the ReferenceTime. Obviously, there are plenty of other meta-data you can inject in a flight recording to make your replay more detailed.
| Property Name | Meaning |
|---|---|
| DataSource | Source simulator, control station or file format. DataSource=DCS 2.0.0.48763 DataSource=GPX File |
| DataRecorder | Software or hardware used to record the data. DataRecorder=Tacview 1.5 DataRecorder=Falcon 4.0 |
| ReferenceTime | Base time (UTC) for the current mission. This time is combined with each frame offset (in seconds) to get the final absolute UTC time for each data sample. ReferenceTime=2011-06-02T05:00:00Z |
| RecordingTime | Recording (file) creation (UTC) time. RecordingTime=2016-02-18T16:44:12Z |
| Author | Author or operator who has created this recording. Author=Lt. Cmdr. Rick 'Jester' Heatherly |
| Title | Mission/flight title or designation. Title=Counter Attack |
| Category | Category of the flight/mission. Category=Close air support |
| Briefing | Free text containing the briefing of the flight/mission. Briefing=Destroy all SCUD launchers |
| Debriefing | Free text containing the debriefing. Debriefing=Managed to stay ahead of the airplane. |
| Comments | Free comments about the flight. Do not forget to escape any end-of-line character you want to inject into the comments. Comments=Part of the recording is missing because of technical difficulties. |
| MapId | A unique text identifier that designates the location where the mission takes place. This can be useful to automatically enable or disable terrain layers during debriefing. MapId=NuclearOption.Heartland |
| Property Name | Unit | Meaning |
|---|---|---|
| ReferenceLongitude ReferenceLatitude |
deg | These properties are used to reduce the file size by centering coordinates around a median point. They will be added to each object Longitude and Latitude to get the final coordinates. ReferenceLongitude=-129 ReferenceLatitude=43 |
Events can be used to inject any kind of text, bookmark and debug information into the flight recording. They are a bit special: They are declared like properties, but unlike properties, you can declare several events in the same frame without overriding the previous one.
Here is an example on how to inject events:
#8.62
0,Event=Message|3000100|Here is a generic event linked to the object 3000100
0,Event=Bookmark|Here is a bookmark to highlight a specific part of the mission!
#8.72
0,Event=Debug|Here is some debug text, visible only with the /Debug:on command line option
You may notice the structure of an event declaration:
Event = EventType | FirstObjectId | SecondObjectId | ... | EventText
For each event we must declare first the type of the event (e.g. Bookmark), optionally followed by ids of concerned objects. For example, when the user double click on the event, Tacview will use theses ids to automatically center the camera around associated objects. The last part is a mandatory text message. Even if it is possible to provide an empty text, it is suggested to provide a useful message to get the most out of your debriefings.
Here are the different kind of events currently supported by Tacview:
| Event Name | Meaning |
|---|---|
| Message | Generic event. 0,Event=Message|705|Maverick has violated ATC directives |
| Bookmark | Bookmarks are highlighted in the time line and in the event log. They are easy to spot and handy to highlight parts of the flight, like a bombing run, or when the trainee was in her final approach for landing. 0,Event=Bookmark|Starting precautionary landing practice |
| Debug | Debug events are highlighted and easy to spot in the timeline and event log. Because they must be used for development purposes, they are displayed only when launching Tacview with the command line argument /Debug:on 0,Event=Debug|327 active planes |
| LeftArea | This event is useful to specify when an aircraft (or any object) is cleanly removed from the battlefield (not destroyed). This prevents Tacview from generating a Destroyed event by error. 0,Event=LeftArea|507| |
| Destroyed | When an object has been officially destroyed. 0,Event=Destroyed|6A56| |
| TakenOff | Because Tacview may not always properly auto-detect take-off events, it can be useful to manually inject this event in the flight recording. 0,Event=TakenOff|2723|Col. Sinclair has taken off from Camarillo Airport |
| Landed | Because Tacview may not always properly auto-detect landing events, it can be useful to manually inject this event in the flight recording. 0,Event=Landed|705|Maverick has landed on the USS Ranger |
| Timeout | Mainly used for real-life training debriefing to specify when a weapon (typically a missile) reaches or misses its target. Tacview will report in the shot log as well as in the 3D view the result of the shot. Most parameters are optional. SourceId designates the object which has fired the weapon, while TargetId designates the target. Even if the displayed result may be in nautical miles, bullseye coordinates must be specified in meters. The target must be explicitly (manually) destroyed or disabled using the appropriate properties independently from this event. 0,Event=Timeout|SourceId:507|AmmoType:FOX2|AmmoCount:1|Bullseye:50/15000/2500|TargetId:201|IntendedTarget:Leader|Outcome:Kill |
Since Tacview 1.5, it is possible to set and change any object property in real-time. Even if new properties may not always be visible in the 3D view, you can always have a look at the raw telemetry window to see what is the current value of each property for currently selected objects.
Tacview 1.7 has introduced a new object which enables you to predefine any of the object properties except for Type and Name. For example, you can predefine the default shape of a F-16C in that database. If the Shape property value is not defined in the telemetry file, Tacview will use the value stored in the database and display your custom 3D model for the F-16C in the 3D view.
Learn how to update and extend Tacview database by reading the.
| Property Name | Meaning |
|---|---|
| Name |
The object name should use the most common notation for each object.
It is strongly recommended to use ICAO or NATO
names like: C172 or F/A-18C.
This will help Tacview to associate each object with the corresponding entry in its
database.
Type and Name are the only
properties
which *CANNOT* be predefined in Tacview
database.
Name=F-16C-52 |
| Type |
Object types are built using tags. This makes object management much more powerful
and
transparent than with the previous exclusive types.
(see below for the list of supported types).
Type and Name are the only
properties
which *CANNOT* be predefined in Tacview
database.
Type=Air+FixedWing |
| AdditionalType |
Any tags defined here will be added to the current object Type.
This is useful to force an object type which has not been defined explicitly in the
telemetry data.
For example, you can use this property to automatically set the FixedWing tag for a Cessna 172
telemetry
data which come from a Garmin csv file (which usually does not contain any type
declaration).
For obvious reasons, this property must be used only in Tacview database, *NOT* in
telemetry
files.
<AdditionalType>Air+FixedWing</AdditionalType> |
| Parent | Parent hexadecimal object id. Useful to associate for example a missile (child
object) and
its launcher aircraft (parent object). Parent=2D50A7 |
| Next | Hexadecimal id of the following object. Typically used to link waypoints
together. Next=40F1 |
| ShortName |
This abbreviated name will be displayed in the 3D view and in any other cases with
small
space to display the object name.
Typically defined in Tacview database. Should not be defined in telemetry data.
ShortName=A-10C |
| LongName |
More detailed object name, used in small windows where there is more space than in a
cluttered 3D view, but not enough space to display the full detailed name.
For readability, it is suggested to start by the short name first (usually an
abbreviation
like the NATO code), followed by the object nickname / NATO name.
Typically defined in Tacview database. Should not be defined in telemetry data.
LongName=A-10C Thunderbolt II |
| FullName |
The full object name which is typically displayed in windows and other logs wherever
there
is enough space to display a lot of data without clutter issues.
Typically defined in Tacview database. Should not be defined in telemetry data.
FullName=Fairchild Republic A-10C Thunderbolt II |
| CallSign |
The call sign will be displayed in priority over the object name and sometimes pilot
name,
especially in the 3D view and selection boxes.
This is handy for mission debriefings where call signs are more informative than
aircraft
names.
CallSign=Jester |
| Registration | Aircraft registration (aka tail number) Registration=N594EX |
| Squawk | Current transponder code. Any code is possible, there is no limitation like with the
old 4
digit transponders. Squawk=1200 |
| ICAO24 | Mode S equipped aircraft uniquely assigned ICAO 24-bit address. ICAO24=A72EC8 |
| Pilot | Aircraft pilot in command name. Pilot=Iceman |
| Group | Group the object belongs to. Used to group objects together. For example, a
formation of
F-16 flying a CAP together. Group=Springfield |
| Country | ISO 3166-1
alpha-2 country code. Country=us |
| Coalition | Coalition Coalition=Allies |
| Color | Can be one of the following: Red, Orange, Yellow (Tacview 1.8.8),
Green, Cyan (Tacview 1.8.8),
Blue, Violet. Colors are
predefined to
ensure a clear display of the whole battlefield in all conditions. Color=Blue |
| Shape |
Filename of the 3D model which will be used to represent the object in the 3D view.
3D models must be in Wavefront .obj file format and stored in either %ProgramData%\Tacview\Data\Meshes\ or %APPDATA%\Tacview\Data\Meshes\.
Learn more about 3D models by reading the dedicated documentation Shape=Rotorcraft.Bell 206.obj |
| Debug | Debug text visible in the 3D view when Tacview is launched with the /Debug:on
command line
argument. Debug=ObjectHandle:0x237CB9 |
| Label | Free real-time text displayable in the 3D view and telemetry windows (to provide
miscellaneous info to the end-user) Label=Lead aircraft |
| FocusedTarget | Target currently focused by the object (typically used to designate laser beam
target
object, can also be used to show what the pilot is currently focused on) FocusedTarget=3001200 |
| LockedTarget to LockedTarget9 | Primary target hexadecimal id (could be locked using any device, like radar, IR,
NVG, ...) LockedTarget2=3001200 |
| Property Name | Unit | Meaning |
|---|---|---|
| Importance | ratio | The higher the ratio, the more important is the object is (e.g. locally simulated
aircraft
could be 1.0 importance factor) Importance=1 |
| Slot | index | Plane position in its Group (the lowest is the
leader) Slot=0 |
| Disabled | boolean | Specifies that an object is disabled (typically out-of-combat) without being
destroyed yet.
This is particularly useful for combat training and shotlogs. Disabled=1 |
|
Visible |
ratio | This property is useful to hide specific objects from the 3D view. Can be used for a
fog-of-war effect, or to prevent virtual objects from being displayed. When set to
1, the
object is fully visible. When set to 0, the object is invisible and may be omitted
from
objects lists. Visible=0.333 |
|
Health |
ratio | Use this attribute to record the current health status of an object. The ratio is
equal to
1.0 when the object is brand new, and 0.0 whenever the object is out of
combat/dead/destroyed. This attribute as currently no effect on the events, you
still need
to remove the object manually whenever it is destroyed. Health=0.84 |
| Length | m | Object length. Especially useful when displaying buildings. Length=20.5 |
| Width | m | Object width. Especially useful when displaying buildings. Width=10.27 |
| Height | m | Object height. Especially useful when displaying buildings. Height=4 |
| Radius | m | Object bounding sphere radius. Object bounding sphere radius. Can be used to define
custom
explosion, smoke/grenade radius. Can be animated. Radius=82 |
| IAS | m/s | Indicated airspeed IAS=69.4444 |
| CAS | m/s | Calibrated airspeed CAS=250 |
| TAS | m/s | True airspeed TAS=75 |
| Mach | ratio | Mach number Mach=0.75 |
| AltimeterSetting | hPa | Current barometric pressure setting for the altimeter AltimeterSetting=1013.2 |
| OnGround | boolean | Indicates whether any part of the aircraft is touching the ground. Typically used to
detect
when the aircraft is landing, taking off, or in any form of ground
contact. OnGround=1 |
| AOA | deg | Angle of attack AOA=15.7 |
| AOS | deg | Sideslip angle, also called angle of sideslip AOS=5.2 |
| AGL | m | Object altitude above ground level AGL=1501.2 |
| HDG | deg | Aircraft heading. When there is no roll and pitch data available, this property can
be used
to specify the yaw while keeping full rotation emulation in the 3D view. HDG=185.3 |
| HDM | deg | Aircraft magnetic heading. Heading relative to local magnetic north. HDM=187.3 |
| Throttle Throttle2 | ratio | Engine 1 & 2 throttle handle position (could be >1 for Afterburner and <0
for
reverse) Throttle=0.75 |
| EngineRPM EngineRPM2 | RPM | Engine 1 & 2 speed in RPM (revolutions per minute) EngineRPM=1500 |
| NR NR2 | ratio | Normalized rotation speed of the main and secondary rotors (typically from 0.0 to
1.1). For
example 0.9 = 90% of max RPM. NR=0.9 |
| RotorRPM RotorRPM2 | RPM | Rotation speed of the main and secondary rotors (revolutions per minute). For
example 320
RPM. RotorRPM=320 |
| Afterburner | ratio | Main/engine #1 afterburner status Afterburner=1 |
| AirBrakes | ratio | Air brakes status AirBrakes=0 |
| Flaps | ratio | Flaps position Flaps=0.4 |
| LandingGear | ratio | Landing gear status LandingGear=1 |
| LandingGearHandle | ratio | Landing gear handle position LandingGearHandle=0 |
| Tailhook | ratio | Arresting hook status Tailhook=1 |
| Parachute | ratio | Parachute status (not to be mistaken for DragChute) Parachute=0 |
| DragChute | ratio | Drogue/Drag Parachute status DragChute=1 |
| FuelWeight to FuelWeight9 | kg |
Fuel quantity currently available in each tanks (up to 10 tanks supported).
FuelWeight4=8750 |
| FuelVolume to FuelVolume9 | l |
Fuel quantity currently available in each tanks (up to 10 tanks supported).
FuelVolume=75 |
| FuelFlowWeight to FuelFlowWeight8 | kg/hour |
Fuel flow for each engine (up to 8 engines supported).
FuelFlowWeight2=38.08 |
| FuelFlowVolume to FuelFlowVolume8 | l/hour |
Fuel flow for each engine (up to 8 engines supported).
FuelFlowVolume2=53.2 |
| RadarMode | number | Radar mode (0 = off) RadarMode=1 |
| RadarAzimuth | deg | Radar azimuth (heading) relative to aircraft orientation RadarAzimuth=-20 |
| RadarElevation | deg | Radar elevation relative to aircraft orientation RadarElevation=15 |
| RadarRoll | deg | Radar roll angle relative to aircraft orientation RadarRoll=-45 |
| RadarRange | m | Radar scan range RadarRange=296320 |
| RadarHorizontalBeamwidth | deg | Radar beamwidth in azimuth RadarHorizontalBeamwidth=40 |
| RadarVerticalBeamwidth | deg | Radar beamwidth in elevation RadarVerticalBeamwidth=12 |
| RadarRangeGateAzimuth | deg | Radar Range Gate azimuth (heading) relative to aircraft orientation RadarRangeGateAzimuth=-20 |
| RadarRangeGateElevation | deg | Radar Range Gate elevation relative to aircraft orientation RadarRangeGateElevation=15 |
| RadarRangeGateRoll | deg | Radar Range Gate roll angle relative to aircraft orientation RadarRangeGateRoll=-45 |
| RadarRangeGateMin | m | Defines the beginning of the range currently focused on by the radar (not to be
confused
with RadarRange). RadarRangeGateMin=37040 |
| RadarRangeGateMax | m | Defines the end of the range currently focused on by the radar (not to be confused
with
RadarRange). RadarRangeGateMax=74080 |
| RadarRangeGateHorizontalBeamwidth | deg | Radar Range Gate beamwidth in azimuth RadarRangeGateHorizontalBeamwidth=40 |
| RadarRangeGateVerticalBeamwidth | deg | Radar Range Gate beamwidth in elevation RadarRangeGateVerticalBeamwidth=12 |
| LockedTargetMode | number | Primary target lock mode (0 = no lock/no target) LockedTargetMode=1 |
| LockedTargetAzimuth | deg | Primary target azimuth (heading) relative to aircraft orientation LockedTargetAzimuth=14.5 |
| LockedTargetElevation | deg | Primary target elevation relative to aircraft orientation LockedTargetElevation=0.9 |
| LockedTargetRange | m | Primary target distance to aircraft LockedTargetRange=17303 |
| EngagementMode EngagementMode2 | number | Enable/disable engagement range (such as when a SAM site turns off its radar) (0 =
off) EngagementMode=1 |
| EngagementRange EngagementRange2 VerticalEngagementRange VerticalEngagementRange2 | m |
Engagement range for anti-aircraft units. This is the radius of the sphere which
will be
displayed in the 3D view.
Typically used for SAM and AAA units, but this can be also relevant to warships.
EngagementRange=2500 You can optionally specify the vertical engagement range to draw an ovoid engagement bubble. VerticalEngagementRange=1800 |
|
RollControlInput PitchControlInput YawControlInput |
ratio | Raw player HOTAS/Yoke position in real-life (flight sim input device) PitchControlInput=0.41 |
|
RollControlPosition PitchControlPosition YawControlPosition |
ratio | HOTAS/Yoke position in simulated (with response curves) or real-life
cockpit PitchControlPosition=0.3 |
|
RollTrimTab PitchTrimTab YawTrimTab |
ratio | Trim position for each axis. PitchTrimTab=-0.15 |
|
AileronLeft AileronRight Elevator Rudder |
ratio | Control surfaces position on the aircraft. Elevator=0.15 |
|
LocalizerLateralDeviation GlideslopeVerticalDeviation |
m | How far the aircraft is from the runway centerline and perfect descent path. left
and below
are negative. GlideslopeVerticalDeviation=52 |
|
LocalizerAngularDeviation GlideslopeAngularDeviation |
deg | The angle difference from the runway centerline and perfect descent path. Left and
below are
negative. LocalizerAngularDeviation=0.23 |
|
PilotHeadRoll PilotHeadPitch PilotHeadYaw |
deg | Pilot head orientation in the cockpit relative to the aircraft
orientation. PilotHeadPitch=12 |
|
PilotEyeGazePitch PilotEyeGazeYaw |
deg | The EyeGaze property represents the pilot's eye orientation relative to their head.
This
means that if the pilot's eyes are looking straight ahead, irrespective of the
head's actual
orientation, the EyeGaze value is set to 0,0. This indicates a forward gaze aligned
with the
head's orientation. EyeGazePitch=-15 |
|
VerticalGForce LongitudinalGForce LateralGForce |
g | Gravitational force equivalent of the acceleration in each axis relative to the
aircraft
orientation. VerticalGForce=3.4 |
|
QNH |
hPA | Regional barometric altimeter setting that causes an altimeter to read aircraft
elevation
above mean sea level. QNH=1013.25 |
|
WindDirection WindPitch WindSpeed |
deg deg m/s |
Wind direction relative to true north, pitch, and amplitude at the corresponding
object
location. Horizontal velocity = cos(WindPitch) * WindSpeed.
WindDirection=45 WindPitch=-8.5 WindSpeed=12.5 |
|
TriggerPressed |
boolean | Position of the main weapon trigger position. Set to 1.0 when the trigger is being
fully
pressed. All other values (such as 0.0) are considered as released. You could use
continuous
values from 0.0 to 1.0 to display the course of the trigger during time. TriggerPressed=1 |
|
ENL |
ratio | Ratio between 0 and 1 describing the current Environmental Noise Level measured by
the
flight recorder. Typically used by gliders to detect engine use. This is the
equivalent of
the ENL field which can be found in IGC files. ENL=0.02 |
|
HeartRate |
number | Heart rate in beats per minute. HeartRate=72 |
|
SpO2 |
ratio | Blood oxygen saturation (SpO2) is the percentage of blood that is saturated with
oxygen. SpO2=0.95 |
Object types are now defined using a free combination of tags. The more tags, the more accurately an object is defined. Tags are separated by the plus sign + Here are some examples:
| Object Kind | Type (Tags) |
|---|---|
| Aircraft Carrier | Type=Heavy+Sea+Watercraft+AircraftCarrier |
| F-16C | Type=Medium+Air+FixedWing |
| Bicycle | Type=Light+Ground+Vehicle |
| AIM-120C | Type=Medium+Weapon+Missile |
| Waypoint | Type=Navaid+Static+Waypoint |
Here is the list of currently supported tags. Tacview will use them for display and analysis purposes.
| Use | Tags |
|---|---|
| Class |
|
| Attributes |
|
| Basic Types |
|
| Specific Types |
|
Here are the recommended common types (combination of tags) you should use to describe most of your objects for display in Tacview 1.x:
| Type | Tags |
|---|---|
| Plane | Air + FixedWing |
| Helicopter | Air + Rotorcraft |
| Anti-Aircraft | Ground + AntiAircraft |
| Armor | Ground + Heavy + Armor + Vehicle |
| Tank | Ground + Heavy + Armor + Vehicle + Tank |
| Ground Vehicle | Ground + Vehicle |
| Watercraft | Sea + Watercraft |
| Warship | Sea + Watercraft + Warship |
| Aircraft Carrier | Sea + Watercraft + AircraftCarrier |
| Submarine | Sea + Watercraft + Submarine |
| Sonobuoy | Sea + Sensor |
| Human | Ground + Light + Human |
| Infantry | Ground + Light + Human + Infantry |
| Parachutist | Ground + Light + Human + Air + Parachutist |
| Missile | Weapon + Missile |
| Rocket | Weapon + Rocket |
| Bomb | Weapon + Bomb |
| Projectile | Weapon + Projectile |
| Beam | Weapon + Beam |
| Shell | Projectile + Shell |
| Bullet | Projectile + Bullet |
| Ballistic Shell | Projectile + Shell + Heavy |
| Grenade | Projectile + Grenade |
| Decoy | Misc + Decoy |
| Flare | Misc + Decoy + Flare |
| Chaff | Misc + Decoy + Chaff |
| Smoke Grenade | Misc + Decoy + SmokeGrenade |
| Building | Ground + Static + Building |
| Aerodrome | Ground + Static + Aerodrome |
| Bullseye | Navaid + Static + Bullseye |
| Waypoint | Navaid + Static + Waypoint |
| Container | Misc + Container |
| Shrapnel | Misc + Shrapnel |
| Minor Object | Misc + Minor |
| Explosion | Misc + Explosion |
Access documentation, community forums, or contact our support team.
Comments
To help you during the debugging process of your exporter, it is possible to comment any line of the file by prefixing them with the double slash like in C++.
These lines will be ignored by Tacview when loading the file. Comments are not preserved. You will notice that they are discarded the next time you save the file from Tacview. If you want to include debug information which is preserved, you can use the dedicated Debug Event described earlier in the global properties.
Because of loading performance considerations, it is only possible to insert a comment at the beginning of a line.