Difference between revisions of "User:R3vo/Sandbox"

From Bohemia Interactive Community
< User:R3vo
Jump to navigation Jump to search
m (Dialogs)
m (Common Errors and Warnings)
 
(129 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{SideTOC|0.85}}
+
<!---
== Introduction ==
+
{{Cfg ref|start}}
 +
{{Cfg ref|abc}}
 +
==== += ====
 +
;Type: [[TokenNameValueTypes|Array]]
 +
;Description: Sets the array to given value or adds given value to the array.
 +
;Example: <syntaxhighlight lang="c">
 +
items[] += {1,2,3,4};
 +
</syntaxhighlight>
 +
==== delete ====
 +
;Type: Class
 +
;Description: Deletes given class. Does not delete class if classes that derive from it still exist. In that case, delete children first.
 +
;Example: <syntaxhighlight lang="c">
 +
delete someObsoleteClass;
 +
</syntaxhighlight>
 +
--->
 +
<br clear="all">
 +
Arma 3 Log File
  
Dialogs are one way to provide custom graphical user interface in your missions and allow interaction with the player aswell as they are able to run [[Code|code]]. They are defined as classes in the [[Description.ext|missionConfigFile]] ([[description.ext]]), [[campaignConfigFile]] ([[Campaign Description.ext]]) or [[configFile]] ([[config.cpp]]).
+
== Location ==
  
== Terminology ==
+
{{Informative | Log files for {{arma3}} can be found in:'''%userprofile%'''\AppData\Local\Arma 3}}
  
'''GUI'''
+
== Log File Content Explained ==
Graphical User Interface which let's the user interact with the software through graphical controls like buttons, lists and so on.
 
  
'''UI'''
+
=== Beginning of the Log File ===
User Interface which let's the user interact with the software through a console application
 
  
'''IGUI'''
+
<syntaxhighlight lang="cpp">
Interactive Graphical User Interface, usually used when talking about vanilla menus in {{arma3}}.  
+
=====================================================================
 +
== C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Arma3_x64.exe
 +
== "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Arma3_x64.exe" -skipIntro -noSplash -hugePages -showScriptErrors
  
=== User Interface Types ===
+
Original output filename: Arma3Retail_DX11_x64
'''Dialog'''
+
Exe timestamp: 2020/08/20 01:03:22
*Can be created upon an existing display (e.g. a menu, while still being able to see menus in the background
+
Current time:  2020/09/06 10:35:03
**'''Commands:''' [[createDialog]], [[closeDialog]]
 
  
'''Display'''
+
Type: Public
*Creates new "space" and hides everything from other Displays/CutRSCs
+
Build: Development
**[[createDisplay]], [[closeDisplay]]
+
Version: 2.01.146606
  
'''HUD'''
+
Allocator: C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Dll\tbb4malloc_bi_x64.dll [2017.0.0.0] [2017.0.0.0]
*Place ctrl's in the "background" of an existing Display. Not clickable, main purpose is to show Informations
+
PhysMem: 24 GiB, VirtMem : 131072 GiB, AvailPhys : 18 GiB, AvailVirt : 131068 GiB, AvailPage : 19 GiB
**'''Commands:''' [[cutRsc]]
+
=====================================================================
  
== Display and Dialog==
+
10:35:03 Detected number of DLCs: 26
 +
10:35:03 DLC index:3 - unable to get DLC data
 +
10:35:03 DLC index:23 - unable to get DLC data
 +
10:35:03 DLC index:24 - unable to get DLC data
 +
10:35:03 DLC index:25 - unable to get DLC data
 +
10:35:03 ---------------------------------------------------------- Game ----------------------------------------------------------
 +
10:35:03                                                                name      appId  owned  installed  available  isDlc
 +
10:35:03                                                              Arma 3    107410    yes        yes        yes      no
 +
10:35:03                                                            Unknown        -1      no        no        no    yes
 +
10:35:03 ---------------------------------------------------------- Dlcs ----------------------------------------------------------
 +
10:35:03  index                                                        name      appId  owned  installed  available  isDlc
 +
10:35:03      0                              Arma 3 Alpha Lite - expires now    228800      no        no        no    yes
 +
10:35:03      1                                                Arma 3 Server    233780    yes        yes        no    yes
 +
10:35:03      2                                                Arma 3 Tools    233800    yes        yes        no    yes
 +
10:35:03      4                                            Arma 3 Soundtrack    249860    yes        yes        no    yes
 +
10:35:03      5                                                  Arma 3 Maps    249861      no        no        no    yes
 +
10:35:03      6                                        Arma 3 Tactical Guide    249862      no        no        no    yes
 +
10:35:03      7                                                  Arma 3 Zeus    275700    yes        yes        yes    yes
 +
10:35:03      8                                                Arma 3 Karts    288520    yes        yes        yes    yes
 +
10:35:03      9                                          Arma 3 Helicopters    304380    yes        yes        yes    yes
 +
10:35:03    10                                          Arma 3 DLC Bundle 1    304400    yes        yes        no    yes
 +
10:35:03    11                                              Arma 3 Marksmen    332350    yes        yes        yes    yes
 +
10:35:03    12                                              Arma 3 Samples    390500    yes        yes        no    yes
 +
10:35:03    13                                                  Arma 3 Apex    395180    yes        yes        yes    yes
 +
10:35:03    14                                          Arma 3 Laws of War    571710    yes        yes        yes    yes
 +
10:35:03    15                                                  Arma 3 Jets    601670    yes        yes        yes    yes
 +
10:35:03    16                                          Arma 3 DLC Bundle 2    612480    yes        yes        no    yes
 +
10:35:03    17                                                Arma 3 Malden    639600    yes        yes        yes    yes
 +
10:35:03    18                                  Arma 3 Tac-Ops Mission Pack    744950    yes        yes        yes    yes
 +
10:35:03    19                                                Arma 3 Tanks    798390    yes        yes        yes    yes
 +
10:35:03    20                                              Arma 3 Contact    1021790    yes        yes        yes    yes
 +
10:35:03    21  Arma 3 Creator DLC: Global Mobilization - Cold War Germany    1042220    yes        yes        yes    yes
 +
10:35:03    22                                    Arma 3 - Prague Content 2    1175380    yes        yes        no    yes
 +
10:35:03 --------------------------------------------------------------------------------------------------------------------------
 +
</syntaxhighlight>
  
Displays and dialogs are parent containers for the actual controls they contain. Their definition contains several properties on the controls it contains, how the GUI can be addressed, and whether or not the player is able to continue regular movement while the dialog is shown.
+
=== Common Errors and Warnings ===
 
+
{| class="wikitable sortable"
They can be defined in the [[Description.ext|description.ext]] file or externalized to separate hpp-files, which are included in the description.ext file using the [[PreProcessor_Commands#.23include|#include]] preprocessor directive. The latter method is generally a good idea to split a large description.ext file into several small chunks in order to keep track of what's where.
 
 
 
=== Properties ===
 
{| border="1" align="left" cellpadding="3" cellspacing="0" |
 
! colspan="3" bgcolor="#bbbbff" | Properties
 
 
|-
 
|-
! bgcolor="#ddddff" | Name
+
! Message (Exact message can vary) !! Explanation !! Significance !! Recommended Action
! bgcolor="#ddddff" | Type
 
! bgcolor="#ddddff" | Remark
 
 
|-
 
|-
| '''idd'''
+
| ''Warning Message: Picture iconmanleader not found'' |
| [[Integer]]
+
| An image or icon was not found
| The unique ID number of this dialog. Used with [[findDisplay]] to find the display. Can be -1 if no access is required from within a script.
+
| style="background-color:green;" |
 +
| none
 +
 
 
|-
 
|-
| '''access'''
+
| ''Updating base class RscShortcutButton->RscButton...'' || Caused by inheriting from wrong config while modifiying an existing base class. Can also be caused by {{arma3}}
| [[Integer]]
+
| style="background-color:red;" |
|
+
| Issue should be fixed if caused by a mod.
*0 - ReadAndWrite - this is the default case where properties can still be added or overridden.
+
 
*1 - ReadAndCreate - this only allows creating new properties.
 
*2 - ReadOnly - this does not allow to do anything in deriving classes.
 
*3 - ReadOnlyVerified - this does not allow to do anything either in deriving classes, and a CRC check will be performed.
 
 
|-
 
|-
| '''movingEnable'''
+
| ''Cannot delete class B_KickOff, it is referenced somewhere (used as a base class probably).'' || Attempt to delete a class failed.
| [[Boolean]]
+
| style="background-color:red;" |
| Specifies whether the dialog can be moved or not (if enabled one of the dialogs controls should have the ''moving'' property set to 1 so it becomes the "handle" the dialog can be moved with). Doesn't seem to matter in Arma 3
+
| Issue should be fixed if caused by a mod.
 +
 
 
|-
 
|-
| '''enableSimulation'''
+
| ''SimulWeather - Cloud Renderer - noise texture file is not specified!'' ||  |
| [[Boolean]]
+
| style="background-color:gray"  |
| Specifies whether the game continues while the dialog is shown or not.
+
| Can be ignored.
 +
 
 
|-
 
|-
| '''onLoad'''
+
| ''Warning: looped for animation: a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\briefing\hubbriefing_loop.rtm differs (looped now 0)! MoveName: hubbriefing_ext'' ||
| [[String]]
+
| style="background-color:red" |
| Expression executed when the dialog is opened. See [https://community.bistudio.com/wiki/User_Interface_Event_Handlers#onLoad User Interface Event Handlers]
+
| Issue should be fixed if caused by a mod.
 +
 
 
|-
 
|-
| '''onUnload'''
+
| ''a3\characters_f\proxies\flag.p3d: No geometry and no visual shape'' ||  |
| [[String]]
+
| style="background-color:green;" |
| Expression executed when the dialog is closed. See [https://community.bistudio.com/wiki/User_Interface_Event_Handlers#onUnload User Interface Event Handlers]
+
| none
 +
 
 
|-
 
|-
| '''controlsBackground'''
+
| ''B_LSV_01_unarmed_F: mainturret - unknown animation source mainturret'' ||  |
| [[Array]]
+
| style="background-color:green;" |
| Contains class names of all background controls associated to this dialog.<br>
+
| none
The sequence in which the controls are listed will decide their z-index (i.e. the last ones will on top of the first ones).
+
 
 
|-
 
|-
| '''controls'''
+
| ''No face for B Alpha 1-4:1''<br>''No speaker given for 'Sotiris Zenon''' ||  |
| [[Array]]
+
| style="background-color:green;" |
| Contains class names of all foreground controls associated to this dialog.
+
| none
 +
 
 
|-
 
|-
| '''objects'''
+
| ''Strange convex component08 in a3\weapons_f_enoch\rifles\msbs\msbs65_ubs_f.p3d:geometryView'' ||  |
| [[Array]]
+
| style="background-color:green;" |
|
+
| none
 +
 
 
|-
 
|-
|}<br clear="all">
+
| ''hidebullet_001 - unknown animation source codrivermuzzle_revolving'' ||  |
 
+
| style="background-color:green;" |
'''Example'''
+
| none
<spoiler><syntaxhighlight lang="cpp">class DefaultDialog
 
{
 
  idd = -1;
 
  access = 0;
 
  movingEnable = true;
 
  onLoad  = "hint str _this";
 
  onUnload  = "hint str _this";
 
  enableSimulation = false;
 
  controlsBackground[] =
 
  {
 
    //Background controls;
 
  };
 
    controls[] =
 
  {
 
  //Controls;
 
  };
 
  objects[] =
 
  {
 
    //Objects
 
  };
 
};</syntaxhighlight></spoiler>
 
 
 
=== Opening a display or dialog ===
 
There are two ways of creating a display or dialog. One can either use [[createDialog]] or [[createDisplay]] command.
 
 
 
=== Closing a display or dialog===
 
There are several ways how a dialog can be closed.
 
* by pressing the '''Escape-key'''
 
* by using [[closeDialog]]
 
* by using [[closeDisplay]]
 
* when the user presses a button with IDC 0, 1 or 2
 
 
 
== HUDs (RscTitles) ==
 
  
=== Properties ===
 
{| border="1" align="left" cellpadding="3" cellspacing="0" |
 
! colspan="3" bgcolor="#bbbbff" | Properties
 
|-
 
! bgcolor="#ddddff" | Name
 
! bgcolor="#ddddff" | Type
 
! bgcolor="#ddddff" | Remark
 
|-
 
| '''idd'''
 
| [[Integer]]
 
| The unique ID number of this HUD. Used with [[findDisplay]] to find the display. Can be -1 if no access is required from within a script.
 
|-
 
| '''fadeIn'''
 
| [[Integer]]
 
|  Duration of fade in effect when opening in seconds.
 
|-
 
| '''fadeOut'''
 
| [[Integer]]
 
| Duration of fade out effect when closing in seconds.
 
|-
 
| '''duration'''
 
| [[Integer]]
 
| Duration the HUD is displayed after opening in seconds. Use a very large number to have it always open.
 
|-
 
| '''onLoad'''
 
| [[String]]
 
| Expression executed when the dialog is opened. See [https://community.bistudio.com/wiki/User_Interface_Event_Handlers#onLoad User Interface Event Handlers]
 
 
|-
 
|-
| '''onUnload'''
+
| ''Trying to create an invalid center EMPTY'' || |
| [[String]]
+
| style="background-color:green;" |
| Expression executed when the dialog is closed. See [https://community.bistudio.com/wiki/User_Interface_Event_Handlers#onUnload User Interface Event Handlers]
+
| none
|-
 
| '''controls'''
 
| [[Array]]
 
| Contains class names of all foreground controls associated to this dialog.
 
|-
 
|}<br clear="all">
 
 
 
'''Example'''
 
<spoiler><syntaxhighlight lang="cpp">class RscTitles
 
{
 
  class RscInfoText
 
  {
 
      idd = 3100; //ID Display. Unique identifier
 
      fadein = 0; //Duration of fade in effect when opening in seconds
 
      fadeout = 0; //Duration of fade out effect when closing in seconds
 
      duration = 1e+011; //Duration the HUD is displayed after opening in seconds. Use a very large number to have it always open
 
      onLoad = "uinamespace setvariable ['BIS_InfoText',_this select 0]"; //Code called when the HUD is created
 
      onUnLoad = "uinamespace setvariable ['BIS_InfoText',nil]"; //Code called when the HUD is destroyed/closed
 
      class Controls
 
      {
 
          class InfoText
 
          {
 
              idc = 3101;
 
              style = "0x01 + 0x10 + 0x200 + 0x100";
 
              font = "RobotoCondensedBold";
 
              x = "(profilenamespace getvariable [""IGUI_GRID_MISSION_X"", (safezoneX + safezoneW - 21 * ( ((safezoneW / safezoneH) min 1.2) / 40))])";
 
              y = "(profilenamespace getvariable [""IGUI_GRID_MISSION_Y"", (safezoneY + safezoneH - 10.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25))])";
 
              w = "(20 * ( ((safezoneW / safezoneH) min 1.2) / 40))";
 
              h = "(5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25))";
 
              colorText[] = {1,1,1,1};
 
              colorBackground[] = {0,0,0,0};
 
              text = "";
 
              lineSpacing = 1;
 
              sizeEx = 0.045;
 
              fixedWidth = 1;
 
              deletable = 0;
 
              fade = 0;
 
              access = 0;
 
              type = 0;
 
              shadow = 1;
 
              colorShadow[] = {0,0,0,0.5};
 
              tooltipColorText[] = {1,1,1,1};
 
              tooltipColorBox[] = {1,1,1,1};
 
              tooltipColorShade[] = {0,0,0,0.65};
 
          };
 
      };
 
  };
 
};</syntaxhighlight></spoiler>
 
 
 
== Controls ==
 
 
 
Controls are the actual content of dialogs and can be anything, ranging from simple solid rectangles to a complex 3d object within a dialog. Like dialogs, controls can have a unique ID saved in the ''idc'' property to access them from within scripts using [[:Category:Command_Group:_GUI_Control|GUI functions]].
 
  
The type of the control is usually set in the ''type'' property. Different types allow or require a different set of properties. However most controls share a set of properties in addition to the properties described in the following sections:
 
 
{| border="1" align="left" cellpadding="3" cellspacing="0" |
 
! colspan="3" bgcolor="#bbbbff" | Common properties
 
|-
 
! bgcolor="#ddddff" | Name
 
! bgcolor="#ddddff" | Type
 
! bgcolor="#ddddff" | Remark
 
|-
 
| '''idc'''
 
| integer
 
| the unique ID number of this control. can be -1 if you don't require access to the control itself from within a script
 
|-
 
| '''moving'''
 
| boolean
 
| whether the dialog will be moved if this control is dragged (may require "movingEnable" to be 1 in the dialog. In Arma 3 works regardless). Another way of allowing moving of the dialog is to have control of style ST_TITLE_BAR
 
|-
 
| '''type'''
 
| integer [[#CONTROL TYPES|CT_TYPES]]
 
|
 
|-
 
| '''style'''
 
| integer [[#CONTROL STYLES|CT_STYLES]]
 
| can be combinatorial: style = "0x400+0x02+0x10";
 
|-
 
| '''x/y/w/h'''
 
| float
 
| the position and size of the control in fractions of screen size.
 
|-
 
| '''sizeEx'''
 
| float
 
| the font size of text (0..1)
 
|-
 
| '''font'''
 
| string
 
| the font to use. See the list of [[Fonts#Available_Fonts|available fonts]] for possible values
 
|-
 
| '''colorText'''
 
| color array
 
| text color
 
|-
 
| '''colorBackground'''
 
| color array
 
| background color
 
|-
 
| '''text'''
 
| string or texture
 
| the text '''or picture''' to display
 
|-
 
| '''shadow'''
 
| 0,1 or 2
 
| can be applied to most controls (0 = no shadow, 1 = drop shadow with soft edges, 2 = stroke).
 
|-
 
| '''tooltip'''
 
| string
 
| Text to display in a tooltip when control is moused over. A tooltip can be added to any control type except CT_STATIC and CT_STRUCTURED_TEXT. Note: As of Arma 3 v1.48 (approx), most controls now support tooltips.
 
|-
 
| '''tooltipColorShade'''
 
| color array
 
| Tooltip background color
 
 
|-
 
|-
| '''tooltipColorText'''
+
| ''ModParams - Undefined or empty mod directory'' || [[modParams]] command was unable to find the specified mod directory
| color array
+
| style="background-color:green;" |
| Tooltip text color
+
| none
|-
 
| '''tooltipColorBox'''
 
| color array
 
| Tooltip border color
 
|
 
|-
 
| '''autocomplete'''
 
| string
 
| Option for entry fields (e.g. RscEdit) to activate autocompletion. For known script commands and functions use autocomplete = "scripting".
 
|
 
|-
 
| '''url'''
 
| string
 
| URL which will be opened when clicking on the control. Used on e.g. a button control. Does not utilize the Steam Overlay browser if enabled, opens the link in the default browser set by the OS.
 
|}<br clear="all">
 
  
{| class="wikitable"
 
! colspan="6" style="text-align: center; font-weight:bold; font-size:22px; font-family:Arial, Helvetica, sans-serif !important;;" | Attributes Class
 
! colspan="2" style="text-align: center; font-weight:bold; font-size:22px; font-family:Arial, Helvetica, sans-serif !important;;" | AttributesImage Class
 
|-
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | Name
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | Type
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | Remark
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | Remark
 
 
|-
 
|-
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | font
+
| ''Unit is not in cargo'' ||  
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | String
+
| style="background-color:green;" |
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" |
+
| none
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | Optional
 
|-
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | color
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | HTML Color
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" |
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" |
 
|-
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | align
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | String
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | center, left, right
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | Optional - center, left, right
 
|-
 
| colspan="2" style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;;" | shadow
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | Integer
 
| colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;;" | not image class
 
| colspan="2" style="font-style:italic; font-family:Arial, Helvetica, sans-serif !important;;" |
 
|}
 
 
 
== CONTROL TYPES ==
 
There is an ingame dialog with examples of how the control types look and act like:
 
<code>createDialog "RscTestControlTypes";</code>
 
  
{| class="wikitable sortable"
 
! Define !! Decimal !! Hexadecimal !! Remark
 
|-
 
| [[CT_STATIC]] || 0 || 0x00 ||
 
|-
 
| [[CT_BUTTON]] || 1 || 0x01 ||
 
|-
 
| [[CT_EDIT]] || 2 || 0x02 ||
 
|-
 
| [[CT_SLIDER]] || 3 || 0x03 ||
 
|-
 
| [[CT_COMBO]] || 4 || 0x04 ||
 
|-
 
| [[CT_LISTBOX]] || 5 || 0x05 ||
 
|-
 
| [[CT_TOOLBOX]] || 6 || 0x06 ||
 
|-
 
| [[CT_CHECKBOXES]] || 7 || 0x07 ||
 
|-
 
| [[CT_PROGRESS]] || 8 || 0x08 ||
 
|-
 
| [[CT_HTML]] || 9 || 0x09 ||
 
|-
 
| CT_STATIC_SKEW || 10 || 0x0A ||
 
|-
 
| [[CT_ACTIVETEXT#CT_ACTIVETEXT=11|CT_ACTIVETEXT]] || 11 || 0x0B ||
 
|-
 
| [[CT_TREE]] || 12 || 0x0C ||
 
|-
 
| [[CT_STRUCTURED_TEXT]] || 13 || 0x0D ||
 
|-
 
| [[CT_CONTEXT_MENU]] || 14 || 0x0E ||
 
|-
 
| [[CT_CONTROLS_GROUP]] || 15 || 0x0F ||
 
|-
 
| [[CT_SHORTCUTBUTTON]] || 16 || 0x10 ||
 
|-
 
| CT_HITZONES || 17 || 0x11 ||
 
|-
 
| CT_VEHICLETOGGLES || 18 || 0x12 ||
 
 
|-
 
|-
| [[CT_CONTROLS_TABLE]] || 19 || 0x13 ||
+
| ''Deinitialized shape [Class: "C_Soldier_VR_F"; Shape: "a3\characters_f_bootcamp\common\vr_soldier_f.p3d";]'' ||  
|-
+
| style="background-color:green;" |
| [[CT_XKEYDESC]] || 40 || 0x28 ||
+
| none
|-
 
| CT_XBUTTON || 41 || 0x29 ||
 
|-
 
| [[CT_XLISTBOX]] || 42 || 0x2A ||
 
|-
 
| [[CT_XSLIDER]] || 43 || 0x2B ||
 
|-
 
| [[CT_XCOMBO]] || 44 || 0x2C ||
 
|-
 
| [[CT_ANIMATED_TEXTURE]] || 45 || 0x2D ||
 
|-
 
| [[CT_MENU]] || 46 || 0x2E || Arma 3 (EDEN)
 
|-
 
| [[CT_MENU_STRIP]] || 47 || 0x2F || Arma 3 (EDEN)
 
|-
 
| CT_CHECKBOX || 77 || 0x4D || Arma 3
 
|-
 
| [[CT_OBJECT]] || 80 || 0x50 ||
 
|-
 
| [[CT_OBJECT_ZOOM]] || 81 || 0x51 ||
 
|-
 
| [[CT_OBJECT_CONTAINER]] || 82 || 0x52 ||
 
|-
 
| CT_OBJECT_CONT_ANIM || 83 || 0x53 ||
 
|-
 
| [[CT_LINEBREAK]] || 98 || 0x62 ||
 
|-
 
| [[CT_USER]] || 99 || 0x63 ||
 
|-
 
| [[CT_MAP]] || 100 || 0x64 ||
 
|-
 
| [[CT_MAP_MAIN]] || 101 || 0x65 ||
 
|-
 
| [[CT_LISTNBOX]] || 102 || 0x66 ||
 
|-
 
| CT_ITEMSLOT || 103 || 0x67 ||
 
|-
 
| CT_LISTNBOX_CHECKABLE || 104 || 0x68 ||
 
|-
 
| CT_VEHICLE_DIRECTION || 105 || 0x69 ||
 
|}
 
 
 
'''Control Types Defines'''
 
<spoiler>
 
''All defines can be retrieved by executing''
 
<code> "Default" [[call]] [[BIS_fnc_exportGUIBaseClasses]];</code>
 
<syntaxhighlight lang="cpp">
 
#define CT_STATIC   0
 
#define CT_BUTTON   1
 
#define CT_EDIT   2
 
#define CT_SLIDER   3
 
#define CT_COMBO   4
 
#define CT_LISTBOX   5
 
#define CT_TOOLBOX   6
 
#define CT_CHECKBOXES   7
 
#define CT_PROGRESS   8
 
#define CT_HTML   9
 
#define CT_STATIC_SKEW 10
 
#define CT_ACTIVETEXT 11
 
#define CT_TREE 12
 
#define CT_STRUCTURED_TEXT 13
 
#define CT_CONTEXT_MENU 14
 
#define CT_CONTROLS_GROUP 15
 
#define CT_SHORTCUTBUTTON 16
 
#define CT_HITZONES 17
 
#define CT_VEHICLETOGGLES 18
 
#define CT_CONTROLS_TABLE 19
 
#define CT_XKEYDESC 40
 
#define CT_XBUTTON 41
 
#define CT_XLISTBOX 42
 
#define CT_XSLIDER 43
 
#define CT_XCOMBO 44
 
#define CT_ANIMATED_TEXTURE 45
 
#define CT_MENU 46
 
#define CT_MENU_STRIP 47
 
#define CT_CHECKBOX 77
 
#define CT_OBJECT 80
 
#define CT_OBJECT_ZOOM 81
 
#define CT_OBJECT_CONTAINER 82
 
#define CT_OBJECT_CONT_ANIM 83
 
#define CT_LINEBREAK 98
 
#define CT_USER 99
 
#define CT_MAP 100
 
#define CT_MAP_MAIN 101
 
#define CT_LISTNBOX 102
 
#define CT_ITEMSLOT 103
 
#define CT_LISTNBOX_CHECKABLE 104
 
#define CT_VEHICLE_DIRECTION 105
 
</syntaxhighlight>
 
</spoiler>
 
  
== CONTROL STYLES ==
 
To further customize controls there are several different styles for each control type available.<br>
 
 
To get an idea of how the styles look like you can create the following dialog:
 
<code>[[createDialog]] "RscTestControlStyles";</code>
 
 
{{Important | Note that drawing of vertical text is not supported and any attempt to use <tt>ST_UP</tt>, <tt>ST_DOWN</tt>, <tt>ST_VCENTER</tt> is likely to result in the following ''.rpt'' spam:<br><tt>Obsolete, sizeH and sizeW calculation missing</tt><br>In addition, <tt>ST_UP</tt>, <tt>ST_DOWN</tt>, <tt>ST_VCENTER</tt> are stand alone styles and should not be mixed with any other styles}}
 
 
{| class="bikitable"
 
! Define !! Decimal !! Hexadecimal !! Remark
 
|-
 
| ST_LEFT || 0 || 0x00 || Default, text left aligned
 
|-
 
| ST_RIGHT || 1 || 0x01 || Modifier, adding this to another style will force text to be aligned to the right
 
|-
 
| ST_CENTER || 2 || 0x02 || Modifier, adding this to another style will force text to be centered
 
|-
 
| ST_DOWN || 4 || 0x04 || Vertical text alignment (See the note above)
 
|-
 
| ST_UP || 8 || 0x08 || Vertical text alignment (See the note above)
 
|-
 
| ST_VCENTER || 12 || 0x0C || Vertical text alignment, same as ST_DOWN + ST_UP (See the note above)
 
|-
 
| ST_SINGLE || 0 || 0x00 || Plain single line box without a border
 
|-
 
| ST_MULTI || 16 || 0x10 || Plain multiple line box with a slight border. To remove border add 512 (+ ST_NO_RECT) to the style (style 528, 529 and 530 are therefore border-less). Additional parameter ''lineSpacing'' is required for this style. ''lineSpacing'' = 1; is normal line spacing. Any '''\n''' character in the text string will be interpreted as new line.
 
|-
 
| ST_TITLE_BAR || 32 || 0x20 || Plain single line box with semi-transparent background and somewhat embossed border. When this style is used, the dialog containing control becomes draggable by this control
 
|-
 
| ST_PICTURE || 48 || 0x30 || Border-less picture box. Text string is treated as a path to a texture. Alignment has no effect. The texture is stretched to fit the box by default. To force original aspect ratio add 2048 (+ ST_KEEP_ASPECT_RATIO) to the style. Background is ignored, ''colorText'' controls texture colour and opacity
 
|-
 
| ST_FRAME || 64 || 0x40 || Legend like frame without background with text showing over the frame edge. Alignment has no effect. ''colorText'' defines both text and frame colour
 
|-
 
| ST_BACKGROUND || 80 || 0x50 || Single line box with always black opaque background and thick raised beveled border
 
 
|-
 
|-
| ST_GROUP_BOX || 96 || 0x60 || Single line box with delicate semi-transparent background and slight border. Only text colour can be controlled
+
| ''Error: entity [ProxyFlag_Auto] still has its shape, ref_count=2'' ||  
|-
+
| style="background-color:green;" |
| ST_GROUP_BOX2 || 112 || 0x70 || Plain single line box, same as ST_SINGLE, only with a slight border similar to ST_MULTI box border
+
| none
|-
 
| ST_HUD_BACKGROUND || 128 || 0x80 || Sets special texture for corners. It was used for rounded corners in OFP, Arma and Arma 2. In Arma 3, square corners are used everywhere, so the texture is adapted to the unified style, but the technology is not removed. In Arma 3 it looks the same as normal ST_SINGLE. Corner textures are defined in <tt>[[configFile]] >> "CfgInGameUI" >> "imageCornerElement"</tt> (can be set only globally for the whole game, not per control)”
 
|-
 
| ST_TILE_PICTURE || 144 || 0x90 || The picture is tiled according to ''tileH'' and ''tileW'' values. To force tiled picture to keep aspect ratio of original image, add 2048 (+ ST_KEEP_ASPECT_RATIO) to the style.
 
|-
 
| ST_WITH_RECT || 160 || 0xA0 || Single line box frame, similar to ST_FRAME box. The text however is displayed inside the frame. Frame and text colour are set with ''colorText''
 
|-
 
| ST_LINE || 176 || 0xB0 || Diagonal line going from left top corner to bottom right corner. To control line direction, width ''w'' and height ''h'' parameters of the box could be negative. Line and text colour are set with ''colorText''
 
|-
 
| ST_UPPERCASE || 192 || 0xC0 || Forces control text to upper case
 
|-
 
| ST_LOWERCASE || 208 || 0xD0 || Forces control text to lower case
 
|-
 
| ST_ADDITIONAL_INFO || 3840 || 0x0F00 || ST_SHADOW + ST_NO_RECT + SL_HORZ + ST_KEEP_ASPECT_RATIO
 
|-
 
| ST_SHADOW || 256 || 0x0100 ||
 
|-
 
| ST_NO_RECT || 512 || 0x0200 || This style works for [[CT_STATIC]] in conjunction with ST_MULTI
 
|-
 
| ST_KEEP_ASPECT_RATIO || 2048 || 0x0800 || When used with image or texture, stops it from stretching to fit the control
 
|-
 
| ST_TITLE || 34 || 0x22 || ST_TITLE_BAR + ST_CENTER
 
|}
 
  
=== [[CT_SLIDER]] Specific Styles ===
 
{| class="bikitable"
 
! Define !! Decimal !! Hexadecimal !! Remark
 
|-
 
| SL_VERT || 0 || 0x00 ||
 
|-
 
| SL_HORZ || 1024 || 0x0400 ||
 
 
|-
 
|-
| SL_TEXTURES || 16 || 0x10 ||
+
| ''"Some path": Missing ';' at the end of line'' ||  
|}
+
| style="background-color:orange;" |
 +
| Issue should be fixed
  
=== [[CT_PROGRESS]] Specific Styles ===
 
{| class="bikitable"
 
! Define !! Decimal !! Hexadecimal !! Remark
 
 
|-
 
|-
| ST_VERTICAL || 1 || 0x01 ||
+
| ''"Unsupported language English in stringtable"'' || Happens if an entry was not found int he desired language e.g., '''English'''. This error will even show if it falls back to another lanuage e.g., '''Original'''. When stringtable can't find the entry it wants, it first tries '''Original''' entry, then '''English''' after that, the first entry in the stringtable is taken.
|-
+
| style="background-color:orange;" |
| ST_HORIZONTAL || 0 || 0x00 ||
+
| Issue should be fixed
|}
+
|}  
  
=== [[CT_LISTBOX]] Specific Styles ===
+
'''Key'''
{| class="bikitable"
+
{| class="wikitable"
! Define !! Decimal !! Hexadecimal !! Remark
 
 
|-
 
|-
| LB_TEXTURES || 16 || 0x10 ||
+
! '''Significance'''
 +
! | Low
 +
! | Medium
 +
! | High
 +
! | Ignore
 
|-
 
|-
| LB_MULTI || 32 || 0x20 || Makes [[CT_LISTBOX]] multi-selectable (see also [[lbSetCurSel]], [[lbCurSel]], [[lbSetSelected]], [[lbSelection]])
+
| '''Description'''
|}
+
| No action needed
 
+
| It's recomended to find the source of this issue and fix it
=== [[CT_TREE]] Specific Styles ===
+
| Cause of the message needs to be found and issue needs to be fixed
{| class="bikitable"
+
| A false error. No action required
! Define !! Decimal !! Hexadecimal !! Remark
 
 
|-
 
|-
| TR_SHOWROOT || 1 || 0x01 ||
+
| '''Color'''
|-
+
| style="background-color:green" |
| TR_AUTOCOLLAPSE || 2 || 0x02 ||
+
| style="background-color:orange;" |
 +
| style="background-color:red;" |
 +
| style="background-color:gray;" |
 
|}
 
|}
 
'''Control Styles Defines'''
 
<spoiler>
 
''All defines can be retrieved by executing''
 
<code> "Default" [[call]] [[BIS_fnc_exportGUIBaseClasses]];</code>
 
<syntaxhighlight lang="cpp">
 
#define ST_LEFT 0x00
 
#define ST_RIGHT 0x01
 
#define ST_CENTER 0x02
 
#define ST_DOWN 0x04
 
#define ST_UP 0x08
 
#define ST_VCENTER 0x0C
 
#define ST_SINGLE 0x00
 
#define ST_MULTI 0x10
 
#define ST_TITLE_BAR 0x20
 
#define ST_PICTURE 0x30
 
#define ST_FRAME 0x40
 
#define ST_BACKGROUND 0x50
 
#define ST_GROUP_BOX 0x60
 
#define ST_GROUP_BOX2 0x70
 
#define ST_HUD_BACKGROUND 0x80
 
#define ST_TILE_PICTURE 0x90
 
#define ST_WITH_RECT 0xA0
 
#define ST_LINE 0xB0
 
#define ST_UPPERCASE 0xC0
 
#define ST_LOWERCASE 0xD0
 
#define ST_ADDITIONAL_INFO 0x0F00
 
#define ST_SHADOW 0x0100
 
#define ST_NO_RECT 0x0200
 
#define ST_KEEP_ASPECT_RATIO 0x0800
 
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
 
#define SL_VERT 0
 
#define SL_HORZ 0x400
 
#define SL_TEXTURES 0x10
 
#define ST_VERTICAL 0x01
 
#define ST_HORIZONTAL 0
 
#define LB_TEXTURES 0x10
 
#define LB_MULTI 0x20
 
#define TR_SHOWROOT 1
 
#define TR_AUTOCOLLAPSE 2
 
</syntaxhighlight>
 
</spoiler>
 
 
== Positioning ==
 
//Some description, common issues/problems, best practices
 
* [[Arma_3_GUI_Coordinates]]
 
* [[Arma 3 Pixel Grid System]]
 
* [[SafeZone]]
 
 
== Best practice ==
 
 
=== Inheritance ===
 
<!-- added by Dr_Eyeball. Example not tested. 11 May 2007. Modify it as you see fit, but don't forget this important topic. -->
 
<!-- Nasty person and Java developer that I am, I dared to move all opening braces at the end of the previous line to make it look more compact. Furthermore I removed some placeholders, because they didn't seem to be needed that much. I hope you don't mind. Also, I love to meddle… :) ~~~~ -->
 
Using inheritance can reduce your dialog class definitions significantly by standardising common attributes in base classes and just changing unique attributes in derived classes. There is no need to redeclare all attributes for each class definition.
 
 
'''Example:'''
 
<spoiler><syntaxhighlight lang="cpp">
 
class RscText // Base definition used for inheritance
 
{
 
type = CT_STATIC;
 
idc = -1;
 
style = ST_LEFT;
 
colorBackground[] = {0, 0, 0, 1};
 
colorText[] = {1, 1, 1, 1};
 
font = FontM;
 
sizeEx = 0.04;
 
h = 0.04;
 
text = "";
 
};
 
 
class My_BlueText : RscText // My_BlueText inherits all attributes from RscText defined above, thus only x,w & colorText need to be changed
 
{
 
colorText[] = {0, 0, 1, 1};
 
x = 0.1;
 
w = 0.4;
 
};
 
 
class My_Dialog
 
{
 
//…
 
 
controls[] = {
 
My_Text_1,
 
My_Text_2
 
};
 
 
class My_Text_1 : My_BlueText // My_Text_1 inherits all attribute from My_BlueText, therefore only text & y attributes have to be changed
 
{
 
text = "Line 1";
 
y = 0.2;
 
};
 
 
class My_Text_2 : My_BlueText
 
{
 
text = "Line 2";
 
y = 0.25;
 
};
 
};
 
</syntaxhighlight></spoiler>
 
 
=== Preprocessor instructions ===
 
Note that you can also add your own [[PreProcessor_Commands|preprocessor instructions]] for commonly used data, eg. for colors, to save yourself the hassle of writing it in several different places and then adapt each of them if you want to change them afterwards (especially if class inheritance isn't applicable). Also it can make your code look more readable sometimes.
 
 
'''Example:'''
 
<spoiler><syntaxhighlight lang="cpp">
 
#define COLOR_LIGHTBROWN { 0.776, 0.749, 0.658, 1 }
 
#define COLOR_HALF_BLACK { 0, 0, 0, 0.5 }
 
#define COLOR_TRANSPARENT { 0, 0, 0, 0 }
 
 
class MyDialog {
 
idd = -1;
 
movingEnable = 1;
 
objects[] = {};
 
controlsBackground[] = { MyDialogBackground };
 
controls[] = { MyDialogText };
 
 
class MyDialogBackground : RscText {
 
colorBackground[] = COLOR_HALF_BLACK;
 
x = 0.7;  y = 0.1;
 
w = 0.25; h = 0.15;
 
};
 
 
class MyDialogText : RscText {
 
style = ST_MULTI;
 
colorBackground[] = COLOR_TRANSPARENT;
 
colorText[] = COLOR_LIGHTBROWN;
 
text = "No power in the 'Verse can stop me.";
 
lineSpacing = 1;
 
x = 0.71; y = 0.11;
 
w = 0.23; h = 0.13;
 
};
 
};</syntaxhighlight></spoiler>
 
 
= Eventhandlers =
 
* [[User Interface Event Handlers]]
 
 
= Scripting =
 
* [[:Category:Command Group: GUI Control|GUI Commands]]
 
 
= Misc =
 
* [[Arma_3_IDD_List]]
 
 
[[Category: Dialogs]]
 

Latest revision as of 14:20, 15 October 2020


Arma 3 Log File

Location

Log files for Arma 3 can be found in:%userprofile%\AppData\Local\Arma 3

Log File Content Explained

Beginning of the Log File

=====================================================================
== C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Arma3_x64.exe
== "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Arma3_x64.exe" -skipIntro -noSplash -hugePages -showScriptErrors

Original output filename: Arma3Retail_DX11_x64
Exe timestamp: 2020/08/20 01:03:22
Current time:  2020/09/06 10:35:03

Type: Public
Build: Development
Version: 2.01.146606

Allocator: C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Dll\tbb4malloc_bi_x64.dll [2017.0.0.0] [2017.0.0.0]
PhysMem: 24 GiB, VirtMem : 131072 GiB, AvailPhys : 18 GiB, AvailVirt : 131068 GiB, AvailPage : 19 GiB
=====================================================================

10:35:03 Detected number of DLCs: 26
10:35:03 DLC index:3 - unable to get DLC data
10:35:03 DLC index:23 - unable to get DLC data
10:35:03 DLC index:24 - unable to get DLC data
10:35:03 DLC index:25 - unable to get DLC data
10:35:03 ---------------------------------------------------------- Game ----------------------------------------------------------
10:35:03                                                                name      appId   owned  installed  available   isDlc
10:35:03                                                              Arma 3     107410     yes        yes        yes      no
10:35:03                                                             Unknown         -1      no         no         no     yes
10:35:03 ---------------------------------------------------------- Dlcs ----------------------------------------------------------
10:35:03  index                                                         name      appId   owned  installed  available   isDlc
10:35:03      0                              Arma 3 Alpha Lite - expires now     228800      no         no         no     yes
10:35:03      1                                                Arma 3 Server     233780     yes        yes         no     yes
10:35:03      2                                                 Arma 3 Tools     233800     yes        yes         no     yes
10:35:03      4                                            Arma 3 Soundtrack     249860     yes        yes         no     yes
10:35:03      5                                                  Arma 3 Maps     249861      no         no         no     yes
10:35:03      6                                        Arma 3 Tactical Guide     249862      no         no         no     yes
10:35:03      7                                                  Arma 3 Zeus     275700     yes        yes        yes     yes
10:35:03      8                                                 Arma 3 Karts     288520     yes        yes        yes     yes
10:35:03      9                                           Arma 3 Helicopters     304380     yes        yes        yes     yes
10:35:03     10                                          Arma 3 DLC Bundle 1     304400     yes        yes         no     yes
10:35:03     11                                              Arma 3 Marksmen     332350     yes        yes        yes     yes
10:35:03     12                                               Arma 3 Samples     390500     yes        yes         no     yes
10:35:03     13                                                  Arma 3 Apex     395180     yes        yes        yes     yes
10:35:03     14                                           Arma 3 Laws of War     571710     yes        yes        yes     yes
10:35:03     15                                                  Arma 3 Jets     601670     yes        yes        yes     yes
10:35:03     16                                          Arma 3 DLC Bundle 2     612480     yes        yes         no     yes
10:35:03     17                                                Arma 3 Malden     639600     yes        yes        yes     yes
10:35:03     18                                  Arma 3 Tac-Ops Mission Pack     744950     yes        yes        yes     yes
10:35:03     19                                                 Arma 3 Tanks     798390     yes        yes        yes     yes
10:35:03     20                                               Arma 3 Contact    1021790     yes        yes        yes     yes
10:35:03     21   Arma 3 Creator DLC: Global Mobilization - Cold War Germany    1042220     yes        yes        yes     yes
10:35:03     22                                    Arma 3 - Prague Content 2    1175380     yes        yes         no     yes
10:35:03 --------------------------------------------------------------------------------------------------------------------------

Common Errors and Warnings

Message (Exact message can vary) Explanation Significance Recommended Action
An image or icon was not found none
Updating base class RscShortcutButton->RscButton... Caused by inheriting from wrong config while modifiying an existing base class. Can also be caused by Arma 3 Issue should be fixed if caused by a mod.
Cannot delete class B_KickOff, it is referenced somewhere (used as a base class probably). Attempt to delete a class failed. Issue should be fixed if caused by a mod.
SimulWeather - Cloud Renderer - noise texture file is not specified! Can be ignored.
Warning: looped for animation: a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\briefing\hubbriefing_loop.rtm differs (looped now 0)! MoveName: hubbriefing_ext Issue should be fixed if caused by a mod.
a3\characters_f\proxies\flag.p3d: No geometry and no visual shape none
B_LSV_01_unarmed_F: mainturret - unknown animation source mainturret none
No face for B Alpha 1-4:1
No speaker given for 'Sotiris Zenon'
none
Strange convex component08 in a3\weapons_f_enoch\rifles\msbs\msbs65_ubs_f.p3d:geometryView none
hidebullet_001 - unknown animation source codrivermuzzle_revolving none
Trying to create an invalid center EMPTY none
ModParams - Undefined or empty mod directory modParams command was unable to find the specified mod directory none
Unit is not in cargo none
Deinitialized shape [Class: "C_Soldier_VR_F"; Shape: "a3\characters_f_bootcamp\common\vr_soldier_f.p3d";] none
Error: entity [ProxyFlag_Auto] still has its shape, ref_count=2 none
"Some path": Missing ';' at the end of line Issue should be fixed
"Unsupported language English in stringtable" Happens if an entry was not found int he desired language e.g., English. This error will even show if it falls back to another lanuage e.g., Original. When stringtable can't find the entry it wants, it first tries Original entry, then English after that, the first entry in the stringtable is taken. Issue should be fixed

Key

Significance Low Medium High Ignore
Description No action needed It's recomended to find the source of this issue and fix it Cause of the message needs to be found and issue needs to be fixed A false error. No action required
Color