Diagnostics Exe – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(added undocumented diag modes)
m (added helpful note for "AIDriving" diag.)
 
(28 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Tool|=
{{Tool


|AUTHOR=
|AUTHOR= [[:Category:Projects|Bohemia Interactive]]
[[:Category:Projects|Bohemia Interactive]]


|VERSION=
|VERSION=


|COMPATIBILITY=
|COMPATIBILITY= [[:Category: Arma 3: Official Tools|Arma 3 Official Tools]]
[[:Category: Arma 3 Official Tools|Arma 3 Official Tools]]


|DOWNLOAD=Part of Arma 3 Development branch on Steam. If you are using DEV branch, arma3diag_x64.exe should be in the Arma 3 main directory already.
|DOWNLOAD= Part of Arma 3 Development branch on Steam. If you are using DEV branch, arma3diag_x64.exe should be in the Arma 3 main directory already.


|DESCRIPTION=
|DESCRIPTION= This special executable aims to help community creators in tweaking their addons. It contains various diagnostic tools that display the current game state in various conditions. See also: [[Performance Profiling]]. Extra commands available can be found here: [[:Category:Arma 3: Scripting Commands: Diagnostic Branch|Arma 3: Scripting Commands: Diagnostic Branch]].<br>
This special executable aims to help community creators in tweaking their addons. It contains various diagnostic tools that display the current game state in various conditions. See also: [[Performance Profiling]]. Some of the extra commands available only in diag build:


* [[diag_enable]]
{{Feature|informative|Some commands might also be available with [[Performance Profiling]].}}
* [[diag_captureFrame]]
* [[diag_captureSlowFrame]]
* [[diag_recordTurretLimits]]
* [[diag_enabled]]
* [[diag_logSlowFrame]]
* [[diag_list]]
* [[diag_captureFrameToFile]]
* [[diag_toggle]]
* [[diag_mergeConfigFile]]
* [[diag_drawMode]]
* [[diag_resetShapes]]


|NOTES=
|NOTES= This exe has multiplayer disabled on purpose. There is no way to use this executable in multiplayer as this functionality has been removed completely.  
This exe has multiplayer disabled on purpose. There is no way to use this executable in multiplayer as this functionality has been removed completely.  


|COMMAND=
|COMMAND= arma3diag_x64.exe
    arma3diag_x64.exe<br/>


|LICENSING=[[End User License Agreement for BI's Tools|Bohemia Interactive End User License Agreement]]
|LICENSING= [[End User License Agreement for BI's Tools|Bohemia Interactive End User License Agreement]]
 
|SEEALSO=
}}


|SEEALSO=}}
=== Additional information ===
=== Additional information ===


Line 46: Line 32:
There are several diagnostics to be toggled by either using the '''diag_toggle''' command or setting '''diag_enable''' to true, e.g.:
There are several diagnostics to be toggled by either using the '''diag_toggle''' command or setting '''diag_enable''' to true, e.g.:


  [[diag_toggle]] "Animation";
<sqf>
diag_toggle "Animation";


  "Animation" [[diag_enable]] [[true]];
"Animation" diag_enable true;
  "All" [[diag_enable]] [[true]];
"All" diag_enable true;
  "All" [[diag_enable]] [[false]];
"All" diag_enable false;
</sqf>


List of available diagnostics:
List of available diagnostics:
  '''AIAiming''' - shows vectors (lines) of AI aiming at known target
 
  '''AIBrain''' - general informations about AI brain, combat mode and fsm state
*<big>'''AI'''</big>
  '''AIDynamicError''' - shows value of dynamically calculated AI aiming error
** '''AIAiming''' - shows vectors (lines) of AI aiming at known target
  '''AISkill''' - shows value of skill, plus global coefficients, as set by difficulty mode
** '''AIBrain''' - general information about AI brain, combat mode and fsm state
  '''AISuppression''' - shows value of suppression  
** '''AIDynamicError''' - shows value of dynamically calculated AI aiming error
  '''Animation''' - displays current animation state, actions being used and target animation states depending on the actions
** '''AISkill''' - shows value of skill, plus global coefficients, as set by difficulty mode
  '''AnimSrcTarget''' - displays all animation sources and their values for the model under the cursor
** '''AISuppression''' - shows value of suppression
  '''AnimSrcUnit''' - displays all animation sources and their values for the player's vehicle (or his gun in case of a soldier)
** '''AIDriving''' - Shows various information about AI driving and path in real time. '''(only works when the leader of the convoy is AI. player has to be passenger)'''
  '''EPEVehicle''' - displays gearbox, friction, thrust, brake and various parameters of a PhysX vehicle
* <big>'''[[Arma 3: Dynamic Simulation|Dynamic Simulation]]'''</big>
  '''EPEForce''' - displays PhysX forces applied on the vehicle
** '''DynSimEntities''' - Displays the map overlay with yellow coloured activation boxes around each dynamically simulated (empty) object.
  '''Force''' - displays some other forces with their names
** '''DynSimGrid''' - Displays the map overlay with the most detailed Dynamic Simulation grid.
  '''HitPoints''' - displays status of hit points of the player's vehicle and vehicle under the cursor
** '''DynSimGroups''' - Displays the map overlay with side coloured activation boxes around each dynamically simulated group.
  '''Mines''' - displays nearby mines, their properties and radius
* <big>'''Animations'''</big>
  '''Particles''' - displays what particles are used in scene and their count
** '''Animation''' - displays current animation state, actions being used and target animation states depending on the actions
  '''ParticleNames''' - attaches a name to each particle effect used so that it may be identified
** '''AnimSrcTarget''' - displays all animation sources and their values for the model under the cursor
  '''SurfaceUnder''' - displays the per-foot surface information on which a unit is standing
** '''AnimSrcUnit''' - displays all animation sources and their values for the player's vehicle (or his gun in case of a soldier)
  '''Suspension''' - displays status of suspension for each wheel of a PhysX vehicle
* <big>'''Physx'''</big>
** '''EPEVehicle''' - displays gearbox, friction, thrust, brake and various parameters of a PhysX vehicle
  '''AIDriving''' - undocumented
** '''EPEForce''' - displays PhysX forces applied on the vehicle
  '''CursorTargetObject''' - undocumented
** '''Force''' - displays some other forces with their names
  '''DynSimEntities''' - undocumented
** '''Suspension''' - displays status of suspension for each wheel of a PhysX vehicle
  '''DynSimGrid''' - undocumented
* <big>'''Misc'''</big>
  '''DynSimGroups''' - undocumented
** '''HitPoints''' - displays status of hit points of the player's vehicle and vehicle under the cursor
** '''Mines''' - displays nearby mines, their properties and radius
  '''LogAnimPaths''' - may work too
*** The small circle is {{Color|green|green}} if the mine is armed, {{Color|red|red}} if the mine is not armed
*** The {{Color|violet|violet}} circle is the radius at which more expensive calculations start
** '''Particles''' - displays what particles are used in scene and their count
** '''ParticleNames''' - attaches a name to each particle effect used so that it may be identified
** '''Shots''' - visualizes projectiles and their paths, hits and ricochets, guidance, seek radius and laser and artillery targets; shows details about hit contacts, penetration, projectile speed, guidance and missile phases
** '''SurfaceUnder''' - displays the per-foot surface information on which a unit is standing
** '''CursorTargetObject''' - Shows name of cursor object and it is distance to the player. Max distance in 50 meters
 


There is an additional diagnostic command used to adjust (by merging) configs on-the-fly without the need of restarting the game (Warning: there are some minor issues like CTD while exiting the game):
There is an additional diagnostic command used to adjust (by merging) configs on-the-fly without the need of restarting the game (Warning: there are some minor issues like CTD while exiting the game):
<sqf>diag_mergeConfigFile ["PathToConfigOnDrive"];</sqf>
It merges config file from "PathToConfigOnDrive" (which must be absolute path to the config including the drive - e.g. O:\Arma3\A3\Stuff_F\config.cpp)
It is possible to '''update rvmats and textures on-the-fly''' while using "local data" - unpacked data in the same structure as the game sees them. You simply need to adjust rvmats or textures and it should affect the game as soon as you task back into it. There may be some visual artifacts; it is always worth to give it one more go with packed data.


  [[diag_mergeConfigFile]] ["PathToConfigOnDrive"] - merges config file from "PathToConfigOnDrive" (which must be absolute path to the config including the drive - e.g. O:\Arma3\A3\Stuff_F\config.cpp)


It is possible to change rvmat and textures on-the-fly while using "local data" - unpacked data in the same structure as the game sees them. You simply need to adjust the rvmat or convert the texture to PAA and it should affect the game as soon as you task back into it. There may be some visual artifacts; it's always worth to give it one more go with packed data.
{{GameCategory|arma3|Official Tools}}
[[Category:Tools]]
[[Category:Arma 3 Official Tools]]

Latest revision as of 18:34, 13 May 2024

Basic information

Author:
Bohemia Interactive
Compatibility:
Arma 3 Official Tools
Download:
Part of Arma 3 Development branch on Steam. If you are using DEV branch, arma3diag_x64.exe should be in the Arma 3 main directory already.

Description

Description:
This special executable aims to help community creators in tweaking their addons. It contains various diagnostic tools that display the current game state in various conditions. See also: Performance Profiling. Extra commands available can be found here: Arma 3: Scripting Commands: Diagnostic Branch.
Some commands might also be available with Performance Profiling.
Notes:
This exe has multiplayer disabled on purpose. There is no way to use this executable in multiplayer as this functionality has been removed completely.

Usage

Line call:
arma3diag_x64.exe

Licenses

Licensing:
Bohemia Interactive End User License Agreement


Additional information

How to use it

Simply run the exe as you would use the standard arma3.exe. For example to perform diag on a PBO, add it as a launch parameter (-mod=@YOURMOD)

Once the game is loaded, go into the editor and select 'Virtual Reality'.

There are several diagnostics to be toggled by either using the diag_toggle command or setting diag_enable to true, e.g.:

diag_toggle "Animation"; "Animation" diag_enable true; "All" diag_enable true; "All" diag_enable false;

List of available diagnostics:

  • AI
    • AIAiming - shows vectors (lines) of AI aiming at known target
    • AIBrain - general information about AI brain, combat mode and fsm state
    • AIDynamicError - shows value of dynamically calculated AI aiming error
    • AISkill - shows value of skill, plus global coefficients, as set by difficulty mode
    • AISuppression - shows value of suppression
    • AIDriving - Shows various information about AI driving and path in real time. (only works when the leader of the convoy is AI. player has to be passenger)
  • Dynamic Simulation
    • DynSimEntities - Displays the map overlay with yellow coloured activation boxes around each dynamically simulated (empty) object.
    • DynSimGrid - Displays the map overlay with the most detailed Dynamic Simulation grid.
    • DynSimGroups - Displays the map overlay with side coloured activation boxes around each dynamically simulated group.
  • Animations
    • Animation - displays current animation state, actions being used and target animation states depending on the actions
    • AnimSrcTarget - displays all animation sources and their values for the model under the cursor
    • AnimSrcUnit - displays all animation sources and their values for the player's vehicle (or his gun in case of a soldier)
  • Physx
    • EPEVehicle - displays gearbox, friction, thrust, brake and various parameters of a PhysX vehicle
    • EPEForce - displays PhysX forces applied on the vehicle
    • Force - displays some other forces with their names
    • Suspension - displays status of suspension for each wheel of a PhysX vehicle
  • Misc
    • HitPoints - displays status of hit points of the player's vehicle and vehicle under the cursor
    • Mines - displays nearby mines, their properties and radius
      • The small circle is green if the mine is armed, red if the mine is not armed
      • The violet circle is the radius at which more expensive calculations start
    • Particles - displays what particles are used in scene and their count
    • ParticleNames - attaches a name to each particle effect used so that it may be identified
    • Shots - visualizes projectiles and their paths, hits and ricochets, guidance, seek radius and laser and artillery targets; shows details about hit contacts, penetration, projectile speed, guidance and missile phases
    • SurfaceUnder - displays the per-foot surface information on which a unit is standing
    • CursorTargetObject - Shows name of cursor object and it is distance to the player. Max distance in 50 meters


There is an additional diagnostic command used to adjust (by merging) configs on-the-fly without the need of restarting the game (Warning: there are some minor issues like CTD while exiting the game):

diag_mergeConfigFile ["PathToConfigOnDrive"];
It merges config file from "PathToConfigOnDrive" (which must be absolute path to the config including the drive - e.g. O:\Arma3\A3\Stuff_F\config.cpp)

It is possible to update rvmats and textures on-the-fly while using "local data" - unpacked data in the same structure as the game sees them. You simply need to adjust rvmats or textures and it should affect the game as soon as you task back into it. There may be some visual artifacts; it is always worth to give it one more go with packed data.