Description
Details
- Severity
- Tweak
- Resolution
- Open
- Reproducibility
- Always
- Operating System
- Windows 10
- Category
- Eden Editor
Open a scenario with some entities and use the "Export to SQF" tool.
Game: Arma 3
Version: 1.95
Build: 145769
Branch: Development
Mods enabled: true
Operating System: Windows
Architecture: x64
Resolution:
Width: 1920
Height: 1080
UI Scale: 0.7
Event Timeline
Here is a 100% repeatable way to not only get this error (Code 1) but to also get the expected outcome (Code 2).
Using excel I created a string of numbers from 1-675 in a column.
I then created a string of numbers in a row from 1-5982.
Code 1:
If I put the column of numbers in to the display it will only show a specific number of lines at once.
Example Code
Example Image
Code 2:
BUT, if I put the row of numbers from 1-5982 in the code then it will show all of the numbers.
Example Code
Example Image
Further investigations revealed that the issue is caused by two things.
- Different controls types ctrlEditMulti and ctrlStructuredText (ctrlTextHeight is completely different for these)
- Font: The current font seems to not properly work with ctrlTextHeight. Changing it to PuristaMedium seems to work reliably.
class Group: ctrlControlsGroup { idc = 201; x = "((getResolution select 2) * 0.5 * pixelW) - ( 140 * 0.5 - 1) * (pixelW * pixelGrid * 0.50)"; y = "0.5 - (safezoneH min ( 180 * (pixelH * pixelGrid * 0.50))) * 0.5 + 11 * (pixelH * pixelGrid * 0.50)"; w = "( 140 - 2) * (pixelW * pixelGrid * 0.50)"; h = "(safezoneH min ( 180 * (pixelH * pixelGrid * 0.50))) - 23 * (pixelH * pixelGrid * 0.50)"; class Controls { class Edit: ctrlEditMulti { idc = 202; w = "( 140 - 2) * (pixelW * pixelGrid * 0.50)"; h = "(safezoneH min ( 180 * (pixelH * pixelGrid * 0.50))) - 23 * (pixelH * pixelGrid * 0.50)"; sizeEx = "3.875 * (1 / (getResolution select 3)) * pixelGrid * 0.5"; font = "PuristaMedium";//Changed canModify = 0; }; class EditFake: ctrlEditMulti//Changed { idc = 203; w = "( 140 - 2) * (pixelW * pixelGrid * 0.50)"; h = "(safezoneH min ( 180 * (pixelH * pixelGrid * 0.50))) - 23 * (pixelH * pixelGrid * 0.50)"; sizeEx = "3.875 * (1 / (getResolution select 3)) * pixelGrid * 0.5"; show = 0; font = "PuristaMedium";//Changed }; }; };
Here's a workaround until the issue is fixed:
//Set variable used by Display3denCopy and create the display uinamespace setVariable ["Display3DENCopy_data",[_title,_text]]; _display = findDisplay 313 createDisplay "Display3denCopy"; //Workaround to fix incorrect control height _ctrlGroup = _display displayCtrl 201; _ctrlEdit = _display displayCtrl 202; _ctrlEditFake = _display displayCtrl 203; _ctrlEdit ctrlSetPositionH (ctrlTextHeight _ctrlEdit max (ctrlPosition _ctrlGroup # 3)); _ctrlEditFake ctrlSetPositionH (ctrlTextHeight _ctrlEditFake max (ctrlPosition _ctrlGroup # 3)); _ctrlEdit ctrlcommit 0; _ctrlEditFake ctrlcommit 0;
Basically after GUI was opened, we set the control heights again, never going lower than the height of the group.