Diagnostics Exe – Arma 3

From Bohemia Interactive Community
Revision as of 18:34, 13 May 2024 by Nelis75733126 (talk | contribs) (added helpful note for "AIDriving" diag.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.