Diag Menu – Arma Reforger

From Bohemia Interactive Community
Jump to navigation Jump to search
(Page creation)
 
No edit summary
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOC|side}}
<!--
The Debug Menu is a menu listing many options used to debug game scripting and assets. It is available in [[Arma Reforger:Workbench|Workbench]] in any 3D viewport (e.g world or model preview).
 
Wiki editors: do not forget to update miniTOC when adding an H2 title!
 
--><div style="display: flex"><!-- flex start -->
<div style="flex-grow: 1"><!-- scrolling div start -->
The Diag Menu is a menu listing many options used to debug game scripting and assets. It is available in {{GameCategory|armaR|Modding|Official Tools|text= Workbench}} in any 3D viewport (e.g world or model preview).


<div style="border: 0.5em solid #000; border-radius: 0.25em; display: inline-block">[[File:armareforger_debugmenu-main.png]]</div><!-- I'm fancy like that -->
<div style="border: 0.5em solid #000; border-radius: 0.25em; display: inline-block">[[File:armareforger_debugmenu-main.png]]</div><!-- I'm fancy like that -->
Line 7: Line 12:
{{Feature|informative|
{{Feature|informative|
; Usage
; Usage
* To open the Debug Menu, press {{Controls|Win|Alt}} (alternatively, {{Controls|Ctrl|Alt}}) in any 3D viewport
* To open the Diag Menu, press {{Controls|Win|Alt}} (alternatively, {{Controls|Ctrl|Win}} but this shortcut conflicts with Windows 11's shortcut) in any 3D viewport
* To enter a sub-menu, press {{Controls|right}}
* To enter a sub-menu, press {{Controls|right}}
* To leave a sub-menu, press {{Controls|backspace}}
* To leave a sub-menu, press {{Controls|backspace}}
* To change a value, use {{Controls|left}} and {{Controls|right}}.
* To change a value, use {{Controls|left}} and {{Controls|right}}.
}}
; Hints
* {{Controls|Home}} - jump to root menu
* {{Controls|Insert}} - reset to default just for options in actual menu
* {{Controls|Delete}} - reset to default for all options
* {{Controls|Shift|Up}} / {{Controls|Down}} - faster movement through the menu
* {{Controls|F1}} - save current options to user profile
* {{Controls|F2}} - load options from user profile
 
It is possible to read & save Diagnostic Menu options from different location via [[Arma_Reforger:Startup_Parameters#diagMenu|diagMenu]] startup parameter.}}
 
== Modding ==
 
{{Feature|informative|See {{Link|enfusion://ScriptEditor/scripts/Core/generated/Debug/DiagMenu.c|DiagMenu.c}} for DiagMenu API information.}}
<enforce>
enum TAG_EMyModDiagMenu
{
ModMenu = 0,
ModMenu_DEBUG,
ModMenu_SHOW,
ModMenu_LOG,
}
</enforce>
<enforce>
// init script, needs to run only once
 
// DiagMenu.RegisterMenu(int id, string name, string parent)
DiagMenu.RegisterMenu(TAG_EMyModDiagMenu.ModMenu, "CategoryName", "");
{
// RegisterBool(int id, string shortcut, string name, string parent, bool reverse = false)
DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_DEBUG, "", "Do debug", "CategoryName");
DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_SHOW, "", "Show stuff", "CategoryName");
DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_LOG, "", "Log stuff", "CategoryName");
}
</enforce>
<enforce>
// somewhere needed
if (DiagMenu.GetBool(TAG_EMyModDiagMenu.ModMenu_DEBUG))
{
Print("Debug entered through Diag menu");
/* ... */
}
</enforce>




Line 23: Line 69:
* Gridmap diags
* Gridmap diags
* Show explosion debug
* Show explosion debug
* Show player active events
* Show player active event''s''
* Show target active events
* Show target active event''s''
* Show aim directions
* Show aim directions
* Particles manager
* Particles manager
* Factions
* Factions
* Contacts
* Contacts
* Smooth steering in vehicles
* Smooth steering in vehic''le''
* FOV override
* FOV override
* Time and Weather Diag
* Time and Weather Diag
* Player permissions
* Player permissions
* Log GameEntity events
* Log GameEntity events (s''imple)''
* Log shooting queues
* Log shooting queues
* Log SlotInfo
* Log SlotInfo
Line 51: Line 97:
* > {{Link|#Network}}
* > {{Link|#Network}}
* > {{Link|#Turrets}}
* > {{Link|#Turrets}}
* Use traces for possible
* Use traces for possible ''volume data''
* Show world volumes c
* Show world volumes colle''ction''
* Enable Decal Slots
* Enable Decal Slots
* > {{Link|#HitReg}}
* > {{Link|#HitReg}}


=== Projectiles ===
=== Projectiles ===
==== Show shell trajectory ====
Show '''projectile trajectory in 3D space''', '''name of the flying prefab''', '''impact points''' and also '''additional projectile data''' in top left corner (including projectile speed, data from prefab and impact data)
Color of the trace represents speed of the projectile, while green represents 100% of projectile initial speed and red represents speeds close to 0.
[[File:armareforger-diag-menu-projectile-shell-trajectory.png|frameless]]
==== Show stats ====
Shows statistics regarding current, largest & total amount of different type of projectiles: '''Shells, Missiles & Grenades'''
[[File:armareforger-diag-menu-projectile-show-stats.png|frameless]]
==== Show predicted shell trajectory ====
Show prediction of projectile trajectory. You can still follow bullet path by observing where textbox with prefab name is located.
[[File:armareforger-diag-menu-projectile-predicted-trajectory.png|frameless|688x688px]]
==== Shell name ====
Controls whether shell name is visible next to projectile prefab.
[[File:armareforger-diag-menu-projectile-shell-name.png|frameless|700x700px]]
'''By default feature is turned on.'''
==== Player shell only ====
Controls if projectile diag should be applied to only player fired projectiles
'''By default feature is turned off.'''
==== Visibility ====
How many projectiles should be visible
'''By default all projectiles are visible.'''
==== Persistence ====
Controls how long '''trajectory''' is visible after projectile destruction. By default it is set to '''15 seconds'''
==== Clear trajectories ====
Works as a toggle.
When activated, it clears world from all debug trajectories
==== Info visible ====
Controls infobox visibility
==== Info persistence ====
Controls how long '''infobox''' in top left corner is visible after projectile destruction. By default it is set to '''0 seconds'''
==== Info segment length ====
Interval at which speed data in infobox is measured and persisted.<gallery mode="nolines" widths="250" heights="255">
File:armareforger-diag-menu-projectile-interval-500.png|500m interval
File:armareforger-diag-menu-projectile-interval-50.png|50m interval
File:armareforger-diag-menu-projectile-interval-100.png|100m interval
</gallery>
'''Default value: 100m'''
==== Hide info ====
==== Dump data ====
''Doesn't work in retail version of the game''
==== Special case ====
==== Deflection ====
Controls whether projectiles have a chance to deflect from surface.
Default value: true (turned on)
==== Penetration ====
Controls whether projectiles is able to penetrate other objects.
Default value: true (turned on)
==== Deviation ====
Controls whether projectiles randomly deviates after penetration.
Default value: true (turned on)
==== Gravity ====
Controls whether projectiles is affected by gravity.
Default value: true (turned on)
==== Decals ====
Controls whether projectiles are leaving impact decals
Default value: true (turned on)
==== Decals advanced ====
==== Decals use diameter ====
Default value: false
==== Override material ====
==== Bullet time ====
Reduces speed to 0.01 when projectile is fired. Time doesn't restore to normal speed unless DTimeMultiplier in Cheats is turned off manually.
==== Proj. override ====
Overrides for projectile specific parameters
===== Mass =====
===== Muzzle velocity =====
===== Air drag coef =====
==== Proj. test ====
===== Run =====
===== Type =====
===== Repeat =====
===== Repeat count =====
===== Repeat freq. =====
===== Proj. count =====
===== Pen. type =====
===== Matrix type =====
===== Matrix save =====
===== Projectile =====
===== Kill timer =====
===== Kill =====
==== Proj. tests ====
===== Show plot =====
===== Plot type =====
===== Gauss param =====
==== Proj. settings ====
===== Capacity =====
Maximum amount of trajectories that are shown at once
'''Defalut value: 16''' (''can be changed to up 1024 trajectories'')
===== Version =====
=== Signals ===
=== Signals ===
=== Hit Zones ===
=== Hit Zones ===
Line 168: Line 365:
* DynSim Distance Diag
* DynSim Distance Diag
* DynSim Visibility Diag
* DynSim Visibility Diag
* ProcAnim Registration Di(?)
* ProcAnim Registration Di''ag''
* HandleControls Registrat(?)
* HandleControls Registrat''ion Diag''
* NwkMovement Registration(?)
* NwkMovement Registration'' Diag''
* Sound Registration Diag (?)
* Sound Registration Diag
* Systems diag
* Systems diag


Line 188: Line 385:
* Animation events
* Animation events
* Animation tags
* Animation tags
* Climb command physics te(?)
* Climb command physics te''st''
* Show current ladder
* Show current ladder
* Input actions
* Input actions
Line 194: Line 391:
* Lock view vertical
* Lock view vertical
* Disable Inertia
* Disable Inertia
* Disable Inertia exponent(?)
* Disable Inertia exponent''ial''
* Show additive handler ta(?)
* Show additive handler ta''sks''
* Stamina
* Stamina
* Disable animation from v(?)
* Disable animation from v''elocity''
* Disable new climb height(?)
* Disable new climb height''s''
* Enable new passive weapo(?)
* Enable new passive weapo''n mode (sling)''
* Disable anim driven icre(?)
* Disable anim driven {{sic|icre''mental}} turn''
* Disable hit reaction
* Disable hit reaction
* Enable feet IK
* Enable feet IK
Line 496: Line 693:
* Stall local
* Stall local
* Stall remote
* Stall remote
</div><!-- scrolling div end -->
<div>
<div style="position: sticky; top: 2em">
{{TabView
|title1= Full TOC
|title2= Mini TOC
|content1= <div style="overflow: auto; max-height: 80vh; min-width: 20em">{{TOC}}</div>
|content2=
<div style="min-width: 12em">
{{TOC|subtoc|content=
* 1 {{Link|#Modding}}
* 2 {{Link|#GameCode}}
* 3 {{Link|#Animals}}
* 4 {{Link|#Cheats}}
* 5 {{Link|#Platform}}
* 6 {{Link|#AI}}
* 7 {{Link|#Vehicles}}
* 8 {{Link|#Systems}}
* 9 {{Link|#Character}}
* 10 {{Link|#ECS}}
* 11 {{Link|#Statistics}}
* 12 {{Link|#Render}}
* 13 {{Link|#Scene}}
* 14 {{Link|#World}}
* 15 {{Link|#Animation}}
* 16 {{Link|#Physics}}
* 17 {{Link|#Game}}
* 18 {{Link|#Sounds}}
* 19 {{Link|#Systems}}
* 20 {{Link|#UI}}
* 21 {{Link|#Replication}}
}}
</div>
</div><!-- sticky end -->
}}<!-- TabView end -->
</div>
</div><!-- flex end -->




{{GameCategory|armaR|Modding|Official Tools}}
{{GameCategory|armaR|Modding|Official Tools}}

Latest revision as of 09:36, 24 April 2024

The Diag Menu is a menu listing many options used to debug game scripting and assets. It is available in Workbench in any 3D viewport (e.g world or model preview).

armareforger debugmenu-main.png


Usage
  • To open the Diag Menu, press ⊞ Win + Alt (alternatively, Ctrl + ⊞ Win but this shortcut conflicts with Windows 11's shortcut) in any 3D viewport
  • To enter a sub-menu, press
  • To leave a sub-menu, press
  • To change a value, use and .
Hints
  • Home - jump to root menu
  • Insert - reset to default just for options in actual menu
  • Del - reset to default for all options
  • ⇧ Shift + / - faster movement through the menu
  • F1 - save current options to user profile
  • F2 - load options from user profile
It is possible to read & save Diagnostic Menu options from different location via diagMenu startup parameter.

Modding

See DiagMenu.c for DiagMenu API information.

enum TAG_EMyModDiagMenu { ModMenu = 0, ModMenu_DEBUG, ModMenu_SHOW, ModMenu_LOG, }
// init script, needs to run only once // DiagMenu.RegisterMenu(int id, string name, string parent) DiagMenu.RegisterMenu(TAG_EMyModDiagMenu.ModMenu, "CategoryName", ""); { // RegisterBool(int id, string shortcut, string name, string parent, bool reverse = false) DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_DEBUG, "", "Do debug", "CategoryName"); DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_SHOW, "", "Show stuff", "CategoryName"); DiagMenu.RegisterBool(TAG_EMyModDiagMenu.ModMenu_LOG, "", "Log stuff", "CategoryName"); }
// somewhere needed if (DiagMenu.GetBool(TAG_EMyModDiagMenu.ModMenu_DEBUG)) { Print("Debug entered through Diag menu"); /* ... */ }


GameCode

Projectiles

Show shell trajectory

Show projectile trajectory in 3D space, name of the flying prefab, impact points and also additional projectile data in top left corner (including projectile speed, data from prefab and impact data)

Color of the trace represents speed of the projectile, while green represents 100% of projectile initial speed and red represents speeds close to 0. armareforger-diag-menu-projectile-shell-trajectory.png

Show stats

Shows statistics regarding current, largest & total amount of different type of projectiles: Shells, Missiles & Grenades

armareforger-diag-menu-projectile-show-stats.png

Show predicted shell trajectory

Show prediction of projectile trajectory. You can still follow bullet path by observing where textbox with prefab name is located.

armareforger-diag-menu-projectile-predicted-trajectory.png

Shell name

Controls whether shell name is visible next to projectile prefab.

armareforger-diag-menu-projectile-shell-name.png

By default feature is turned on.

Player shell only

Controls if projectile diag should be applied to only player fired projectiles

By default feature is turned off.

Visibility

How many projectiles should be visible

By default all projectiles are visible.

Persistence

Controls how long trajectory is visible after projectile destruction. By default it is set to 15 seconds

Clear trajectories

Works as a toggle.

When activated, it clears world from all debug trajectories

Info visible

Controls infobox visibility

Info persistence

Controls how long infobox in top left corner is visible after projectile destruction. By default it is set to 0 seconds

Info segment length

Interval at which speed data in infobox is measured and persisted.

Default value: 100m

Hide info

Dump data

Doesn't work in retail version of the game

Special case

Deflection

Controls whether projectiles have a chance to deflect from surface.

Default value: true (turned on)

Penetration

Controls whether projectiles is able to penetrate other objects.

Default value: true (turned on)

Deviation

Controls whether projectiles randomly deviates after penetration.

Default value: true (turned on)

Gravity

Controls whether projectiles is affected by gravity.

Default value: true (turned on)

Decals

Controls whether projectiles are leaving impact decals

Default value: true (turned on)

Decals advanced

Decals use diameter

Default value: false

Override material

Bullet time

Reduces speed to 0.01 when projectile is fired. Time doesn't restore to normal speed unless DTimeMultiplier in Cheats is turned off manually.

Proj. override

Overrides for projectile specific parameters

Mass
Muzzle velocity
Air drag coef

Proj. test

Run
Type
Repeat
Repeat count
Repeat freq.
Proj. count
Pen. type
Matrix type
Matrix save
Projectile
Kill timer
Kill

Proj. tests

Show plot
Plot type
Gauss param

Proj. settings

Capacity

Maximum amount of trajectories that are shown at once

Defalut value: 16 (can be changed to up 1024 trajectories)

Version

Signals

Hit Zones

Game materials

Weapons

User Actions

Radio

Chat

Inventory

Loadout

Lights

Camera

Animations

Serialization

Network

Turrets

HitReg

Animals

(Almost) empty for no animals are present in Arma Reforger.

  • Turn correction debug


Cheats

  • Disable player damage Ctrl + Alt + F1
  • Teleport Ctrl + Alt + F2
  • Infinite ammo Ctrl + Alt + F3
  • Infinite bullets Ctrl + Alt + F4
  • Commit suicide Ctrl + Alt + F5
  • Execute characters in fr Ctrl + Alt + F6
  • DTime multiplier
  • DTime multiplier value


Platform

  • Pick user
  • Obtain save data
  • Commit save data
  • Open URL
  • Change user name
  • Request & log privileges
  • Revoke privilege: Text c(hat?)
  • Revoke privilege: Voice (chat?)
  • Revoke privilege: Multiplayer (?)
  • Revoke privilege: Lobby
  • Revoke privilege: UGC
  • Revoke privilege: Shared (?)
  • Revoke privilege: Social (Media?)


AI

Performance

Navmesh

Movement

Pathfinding

Aiming

AI Navigator

Driving

Vehicles

  • Show Controller Diags
  • > Compartments
  • Solver
  • Enable debugger trace
  • Show stats
  • Show vehicle debug
  • Player vehicle only
  • Show CoM
  • Show inertia
  • Show forcecs
  • Show engine
  • Show raycast
  • Show suspension
  • Show swaybar
  • Show wheels
  • Show bones
  • Show slope
  • Test raycast
  • Reset vehicle Ctrl + Alt + R
  • wheel drag set
  • Wheel drag value

Compartments

Systems

  • DynSim Distance Diag
  • DynSim Visibility Diag
  • ProcAnim Registration Diag
  • HandleControls Registration Diag
  • NwkMovement Registration Diag
  • Sound Registration Diag
  • Systems diag


Character

  • Interpolation enabled
  • Animation LOD
  • Animation layer
  • Aiming direction
  • Head aiming direction
  • Heading angle
  • Entity transform
  • AnimPhysAgent transform
  • Foot down anim event
  • Animation events
  • Animation tags
  • Climb command physics test
  • Show current ladder
  • Input actions
  • Lock view horizontal
  • Lock view vertical
  • Disable Inertia
  • Disable Inertia exponential
  • Show additive handler tasks
  • Stamina
  • Disable animation from velocity
  • Disable new climb heights
  • Enable new passive weapon mode (sling)
  • Disable anim driven icrementalsic turn
  • Disable hit reaction
  • Enable feet IK
  • Show player identity
  • AnimPhysAgent dump
  • Skip simulation points p(?)
  • Show simulation points


ECS

  • ECS archetypes
  • ECS registered types
  • ECS type matching
  • ECS deleted entities


Statistics

  • Log prefab spawn
  • FPS Ctrl + NUM 1
  • General Ctrl + NUM 2
  • Shape stats
  • MeshObject stats
  • Decal stats
  • Entity simul.stats
  • Entity mem.stats
  • EntityComp mem.stats
  • Stats page
  • Resource memory stats
  • Texture memory stats
  • Slow script
  • Verbose script Print
  • Script profiler
  • Script prof. external
  • Test mem-stress
  • Flush memory
  • Flush audio
  • Memory validation
  • Dump render resources
  • Counters Ctrl + NUM 3
  • Profiler Ctrl + NUM 4
  • > Profiler setting
  • Slow down
  • Limit FPS
  • Widget statistics
  • Widget hierarchy to log (?)
  • Widget update to log
  • Loaded particle FX
  • Dump resources
  • Flush resources

Profiler setting

Render

RT

Various

System textures

Textures

Scene lighting

Shadows

PP effects

Terrain menu

Grass/Clutter/Obstacles

Roads menu

Materials settings

Sky

Ocean

Rivers

Texture streaming

Volumetric Clouds

Atmosphere

Subsurface Scattering

FSR

Rain

Shore Wetness

LensFlares

Deferred Decals

LightSourcVis

Terrain shadows

Clustering

Occlusion Queries

Analytic lights

Scene

  • Show clips
  • > Filter
  • LOD multiplier
  • Size multiplier
  • Show light
  • Cube map size
  • Capture cube map
  • Force vertical FOV
  • Override far plane
  • Override object far plan(?)
  • > Particles
  • > Light portals
  • Render world
  • Grouped render
  • Colorize objects LODs
  • Render world ents
  • Render world leafssic
  • Fast way
  • > Occluders
  • RenderEnts
  • Render world env
  • Force linear depth
  •   Linear depth

Filter

Particles

Light portals

Occluders

World

  • JobManager Callstack
  • JobManager Print CS
  • Debug prefabs
  • Show AABB Alt + NUM 5
  • Show scene tree
  • Show entity bounds
  • Show active
  • Show bones
  • Show wind emitters Ctrl + NUM 8
  • Disable wind Ctrl + NUM 9
  • Game update
  • MT entity sim
  • MT entity update
  • Entity diag
  • Entity hierarchy changes(?)
  • New skeleton
  • Trace stresstest
  • Query stresstest
  • Update stresstest
  • Async traces
  • Async queries
  • Use quadtree
  • Animation


Animation

  • Enable debugger
  • Root motion always enabl(?)
  • Show transforms before I(?)
  • Show transforms after IK(?)
  • Show IK offsets
  • Show IK solver details
  • Show RBF details
  • Record animations
  • Record local player


Physics

  • Prequery
  • Show bodies
  • Show layer
  • Show collider type
  • Show simulation state
  • Show COM
  • Simulation
  • Dump active bodies
  • Dump contacts
  • Show stats
  • Show Bullet
  • > Bullet

Bullet

Game

  • Force fog at camera
  • Override fog
  •  Distance density
  •  Height density
  •  Distance offset
  •  Height bias
  • Compressed format in WB (?)
  • Superscreenshot to file (?) Ctrl + ⇧ Shift + F7
  • Screenshot to clipboard ⇧ Shift + F7
  • Screenshot to file Ctrl + F7
  • > Weather

Weather

Sounds

  • Coast line debug
  • Ambients
  • Freeze cam position
  • Debug Com.Sound
  • Music manager enabled
  • MM - debug info
  • MM - enable logs
  • MM - enable user input
  • Early reflections
  • > SoundMap
  • --------------------------------
  • > SoundSystem
  • Log max ranges
  • Show system info
  • Resources
  • Show categories
  • Show sounds
  • Show sounds 3D
  • Log source info
  • Filter sounds
  • > Audio Debug Context
  • Play recorded VON
  • Enable ITD

SoundMap

SoundSystem

Audio Debug Context

Systems

  • Job workers enabled
  • Cause assert
  • Cause crash
  • Cause crash async
  • Cause CRT aboard
  • Cause CRT abort async
  • Corrupt malloc
  • Corrupt new
  • Corrupt MM
  • Corrupt MM async


UI

  • Log Construction
  • Disable Loc


Replication

  • Stats
  • Reset peaks
  • Replication logging
  • Connection logging
  • Replicator logging
  • Finalize
  • Disconnect
  • Virtual connections
  • Singlethreaded
  • Flush trace (local)
  • Flush trace (server)
  • Crash server
  • Stall local
  • Stall remote
Full TOC
Mini TOC