Jump to content

Triple-head/Multi-Monitor GUI and NVG Fix


PeterP

Recommended Posts

Fix for misplaced/stretched MP and Mission Gui - and this works for DCS-BlackShark and DCS-A10c

 

When you are a Multi-monitor/Triple-Head user you have the GUI always stretched over your whole camera-view resolution by default.

So you can't read briefings correctly because of your bezel compensation or you simply can't reach some buttons on a multit-head setup

- up to know there was only a solution to edit multiple files in a very complicated way to fix this.

(Nvidia Surround multiplayer menu FIX)

 

But now I found out that you can easily create a own "view-port" for the GUI and place it anywhere you need.

And everything like communication menu, mission text and briefing, Multiplayer-GUI will only appear in this area.

 

 

Attached is a example and a pre-set for every Triple Head setup.

 

 

First a look on the default "1 Screen"setting for comparison on a 3840x1024 setup :

 

Multi-Player:

defaultmp.jpg

 

Mission:

default.jpg

 

 

This is how the "TripleHead.lua" will look:

 

TripleHead.lua - the code that I have added is in bold:

_ = function(p) return p; end;

name = _('1 View-port and Gui for TH');

Description = '1 View-port and Gui for TH'

Viewports =

{

Center =

{

x = 0;

y = 0;

width = screen.width;

height = screen.height;

viewDx = 0;

viewDy = 0;

aspect = screen.aspect;

}

}

 

Gui =

{

x = screen.width / 3;

y = 0;

width = screen.width / 3;

height = screen.height;

}

 

UIMainView = Gui

Multi-Player:

thmp.jpg

Mission:

th.jpg

 

How to use this TripleHead.lua:

Screen_120115_145548.jpg

 

copy the TripleHead.lua into:

<DCS install folder>ConfigMonitorSetup

 

And finally the "Gui test.lua" to demonstrate that you can place the GUI anywhere you want in any size:

 

Gui test.lua - the code that I have added is in bold

 

_ = function(p) return p; end;

name = _('Gui test');

Description = '1 View-port and Gui'

Viewports =

{

Center =

{

x = 0;

y = 0;

width = screen.width;

height = screen.height;

viewDx = 0;

viewDy = 0;

aspect = screen.aspect;

}

}

 

Gui =

{

x = 0;

y = 0;

width = 1024;

height = 768;

}

 

UIMainView = Gui

Multi-Player:

testmp.jpg

 

Mission:

test.jpg

 

 

Download Gui test.lua

 

Download TripleHead.lua

 

 

PS:....wondering: Does ED know this ?! and if they know - why no one told this to us?!

 

 

EDIT:

Fix for misplaced/awful stretched NVG overlay:

 

 

I made a video tutorial how to make the focus.png fit with multi-monitor setups.

 

In this example I use a setup with two 1920x1080 monitors side by side.

But this method can be applied to all different combinations when you start with a screen-shoot of your setting.

 

A little OT but most that find above useful will also find this info valuable:

How to set a new FOV at mission start:

 

The default FOV at mission start is 75° - this is not enough for a Triple-Head system. So you may want to change this to something like 90°-120° , so you don't need to adjust this manually at mission start.

 

To set a new starting FOV:

> Eagle DynamicsDCS A-10CConfigViewSnapViewsDefault.lua

 

of course edit the SnapViews.lua if you have set

UseDefaultSnapViews = false

in the View.lua file.

 

change Line #1059 the orange number

(Annotation in green tells you what each line controls)

FOVstart-1.jpg

and If you want to cange the min-max FOV:

>Eagle Eagle DynamicsDCS A-10CConfigView

and open the View.lua

edit line #118 the {min, max}

 

FOVminmax.jpg

 

Example: Change both values to {60.0, 60.0} and your FOV is fixed at 60° and you will not be able to change the "Zoom" during mission.

 

__________________________________________________________________________

Maybe some of you who find this above tweaks useful for your set-up will also like this...

How to move/resize the Controls Indicator:

 

OK, Pitbull- You are a lucky guy!wink.gif - I had a some time on my hands for a deeper look - and I found the right triggers that are responsible for the placement of the control indicator in the cockpit-view. smile.gif

(BTW : I took me only 7min to find the right lines..wink.gif be warned that will also change the position of the CTRL-Indicator in the "HUD-only" view")

 

... here we go:

 

 

First go to

DCS:BlackShark 1.1.1.1:

DCS Black Shark 2ScriptsAircraftsKa-50CockpitControlsIndicator

 

DCS: A10C 1.1.1.1:

DCS A-10CScriptsAircraftsA-10CCockpitControlsIndicator

 

than open

ControlsIndicator_page.lua

with a proper Editor (>>> Notepad++)

CTRLindicator.png

 

 

Than edit the size in line #14

>> local size = 0.15 -- 0.30 nearly doubles the width/height of the default one

and position in line #43

>> base.init_pos = {X-position,Y-position} -- both values can be decimal and negative

 

 

I made some quick testing and instead of posting lots of pictures that show nearly the same; I copied each different position into the same screen.

 

I made notes which values are used for each position.

 

baseinit_posandsizeexample-1.gif

 

 

Now you should know enough how to create your own desired spawn point of the CTRL-Indicator.

Keep in mind than you have to use different values on diffident resolutions

(...Up to now I not fully aware what exact logic triggers the spawn-point.

But up to now I can say that when moving the indicator (size 0.15) from x0 to x1 -it will equal 384 pixels and all values are bound to the centre of the XYjoystick position cross.).

 

 

 

See...

 

Its a whole different thing compared to moving the Radio-menu tongue.gif

Tip:

First set the wished Size - and than place it where you want it. - Because resizing it will change the relative position again , and you have to start over again.

 

 

Setting up a custom resolution that is always selectable and starting the GUI always windowed (DCS:World):

 

>>> Fix: adding a custom resolution to in-game options.

 

So you don't have to edit your options.lua again after switching.

 

This works with all DCS engine simulations - I tested this in build 1.1.1.1 with A-10C and BS2.

 

This is helpful for cockpit builders with a custom windowed resolution and/or 3DTV/SoftTH users.

 

To make a custom resolution always selectable from the in game drop-down menu you have to edit :

 

Program FilesEagle Dynamics>your DCS simulation<MissionEditordatascripts

 

optionsData.lua with a proper editor (Notepad++).

Always make a backup of the file before you edit!

 

and change it like I show starting at line # ~ 356 and look out for "resolution"

 

 

 

before:

resolution = {

__value__ = '1024x768',

control = 'combo',

values = {},

after:

resolution = {

__value__ = '1024x768',

control = 'combo',

values = {

{ id = "1280x720", dispName = "3DTV 1280p"},

},

Now you should be able to select "3DTV 1280p" whenever you like.

 

"1280x720" and "3DTV 1280p" is only a example!

 

You can set in your needed resolution and name it how you wish. - just make sure it is legit!

 

You even can add multiple custom resolutions.

This would look like this:

 

resolution = {

__value__ = '1024x768',

control = 'combo',

values = {

{ id = "3840x2160", dispName = "All screens/Helios"},

{ id = "1280x720", dispName = "3DTV 1280p"},

{ id = "600x400", dispName = "Too small for nice view"},

},

On a related note:

 

You can also add custom aspect ratios that are not selectable by default - you may want to use it because you scale 1280x1024 pixels on a native 1920x1080px monitor.

 

Do this in the same file beginning in line # ~400 and look out for "aspect"

 

aspect = {

__value__ = 1.333333333,

control = 'combo',

values = {

{ id = "4:3", dispName = "4:3"},

{ id = "3:2", dispName = "3:2"},

{ id = "5:4", dispName = "5:4"},

{ id = "16:9", dispName = "16:9"},

{ id = "16:10", dispName = "16:10"},

{ id = "22:10", dispName = "SoftTH"},

},

You can see I added 22:10 and called it SoftTH.

 

 

 

This is an instruction how to run the GUI in DCS:World always windowed while the Sim starts fullscreen:

 

This is how it's done:

 

 

Navigate to ...Eagle DynamicsDCS WorldMissionEditor

and open the MissionEditor.lua with a proper editor (Notepad++)

 

Make a backup of this file before you change it!!!!!!

 

Than go to line #250

 

and change it from this:

local function getScreenParams()

local width = panel_options.vdata.graphics.width.__value__

local height = panel_options.vdata.graphics.height.__value__

local fullscreen = panel_options.vdata.graphics.fullScreen.__value__]

to this:

local function getScreenParams()

local width = 1024 -- panel_options.vdata.graphics.width.__value__

local height = 768 -- panel_options.vdata.graphics.height.__value__

local fullscreen = false -- panel_options.vdata.graphics.fullScreen.__value__

1024x768 is an example - You can put in your wished resolution for the windowed GUI.

 

 

Now every-time you start DCS-World the GUI will be windowed in the resolution you have set. But the Simulation will start as set in the options-menu .

 

 

 

 

 

If you ran into bugs and you want to report them please check first if they are also at this list:

 

>>>

A Plea for View-Export/Multi-head/TH Users.

1938402924_defaultmp.thumb.jpg.495f5e6486e0f92f987fcc03f56d91aa.jpg

default.thumb.jpg.6dec1b8d83d8a3159c950e18084d6022.jpg

1613688089_thmp.thumb.jpg.aa9c6df603b774c8d03805de271752b1.jpg

th.thumb.jpg.884b691d6c8c3e4a2a573a33ef18f14d.jpg

1674349448_testmp.thumb.jpg.7e30da8a588bcf189a7fbfe6bd51dfd5.jpg

test.thumb.jpg.3f0a3113c6673ae2fad2510e97b2a48c.jpg

Gui test.lua

TripleHead.lua

Screen_120115_145548.jpg.06257f23c41b461dbd11d8dd234c7f10.jpg


Edited by PeterP
  • Like 3

Link to comment
Share on other sites

WHOA!!!! How simple! Nice work PeterP. Is there a place where you can read about the syntax of LUA-files?

 

Yes - there are some...(about 16.100.000):D -use this very secret underground link I use too for my research about LUA programming:

;):music_whistling:

>>>Secret link<<<

 

 

 

And to make this thread complete - because people that have Multi-monitors will also face the same problem about a shifted/stretched NVG image:

 

http://forums.eagle.ru/showthread.php?p=1366379#post1366379

 

 

I made a video tutorial how to make the focus.png fit with multi-monitor setups.

 

In this example I use a setup with two 1920x1080 monitors side by side.

But this method can be applied to all different combinations when you start with a screen-shoot of your setting.

 

 

@ moderators:

Please rename this thread to "Triple-head/Multi-Monitor GUI and NVG Fix" and make it please a sticky.

 

(I answered 4 questions about exact this problems in the last 24 hours in newly opened threads...)

 

and here is the same thread in the DCS-A10 section: Fix for misplaced/stretched MP and Mission Gui - also for BS

 

...and un-stick this one - as this solution is now obsolete and only works for TH-setups out of the box: Nvidia Surround multiplayer menu FIX/MOD


Edited by PeterP

Link to comment
Share on other sites

A little OT but most that find above useful will also find this info valuable:

How to set a new FOV at mission start:

 

The default FOV at mission start is 75° - this is not enough for a Triple-Head system. So you may want to change this to something like 90°-120° , so you don't need to adjust this manually at mission start.

 

To set a new starting FOV:

> Eagle Dynamics\DCS A-10C\Config\View\SnapViewsDefault.lua

 

of course edit the SnapViews.lua if you have set

UseDefaultSnapViews = false

in the View.lua file.

 

change Line #1059 the orange number

(Annotation in green tells you what each line controls)

FOVstart-1.jpg

and If you want to cange the min-max FOV:

>Eagle Eagle Dynamics\DCS A-10C\Config\View

and open the View.lua

edit line #118 the {min, max}

 

FOVminmax.jpg

 

Example: Change both values to {60.0, 60.0} and your FOV is fixed at 60° and you will not be able to change the "Zoom" during mission.


Edited by PeterP

Link to comment
Share on other sites

  • 3 weeks later...

Thanks PeterP, both the menu and NVG tips were very helpful.

I edited my FOV bounds before, but the default zooming out after mission start remains annoying, can that also be eliminated in the SnapViewsDefault.lua?

[sIGPIC][/sIGPIC]

  • CPU i7 4970k @ 4.7 GHz
  • RAM 16GB G.Skill TridentX 1600
  • ATX ASUS Z97-PRO
  • DSU Samsung 850 PRO 256GB SSD for Win10, Plextor M6e 128GB SSD for DCS exclusively, RAID-1 HDDs
  • GFX Aorus GTX 1080 Ti 11GB Xtreme Edition, ASUS ROG Swift PG279Q, 27" with G-Sync, Oculus Rift CV1

  • HID TM HOTAS Warthog + 10 cm extension, MFG Crosswind pedals, TrackIR 5, Obutto oZone

 

My TM Warthog Profile + Chart, F-15C EM Diagram Generator

Link to comment
Share on other sites

No. (Didn't found a way)

I think this has been implemented that you don't suffer from heavy stuttering (at some systems) - so the GPU can gradually load all textures - and don't have to do it all at once. - so it's generally a good thing.

 

But if you just press KP-Enter - you are immediately at your set FOV.

(Tip: map TrackIR centre to KP-Enter...)


Edited by PeterP

Link to comment
Share on other sites

  • 1 month later...

Awseome! :)

 

Thanks PeterP, been trawling through all the multimonitor threads, finally got my dual monitor setup working and now thanks to you (again) managed to move all the menus to one screen so i can see wtf they say :)

 

Still havent quite got SoftTH to work, but windowed and phantom monitor fix is doing the job at the moment, thats for another day...

 

Once again Peter, many thanks for your informative (and simple language :)) posts, I'd still be squinting at a single screen if it wasnt for you.

Link to comment
Share on other sites

  • 4 months later...

Along these lines, the radio menu & messages appear on the far right & left screens respectively when in Eyefinity mode.

 

I worked out a fix to move them both to my central monitor (this is for DCS World):

 

Load up DCS World\Scripts\UI\RadioCommandDialogPanel\CommandDialogsPanel.lua into Notepad (or your favourite text editor). NB: Make a backup copy of this file first, in case you screw it up! Change line 166 from this:

 

local window = Window.new(0, 0, screenWidth, height, "CommandDialogsPanel.Window")

to this:

 

screenWidth = 1920; -- width of your central screen. If you find the radio menu is still too far right after this fix, reduce this value

local pos = 1920 + 60; -- width of your left screen, plus any bezel compensation margin. If the messages are too far left/right then decrease/increase this

local window = Window.new(pos, 0, screenWidth, height, "CommandDialogsPanel.Window")

 

How it works: As far as I understand the code, an invisible window is created which holds all the radio info. The messages you receive appear on the left side of this window, and the radio menu appears at the right side of this window. Normally it covers the whole 3 screens, from (0,0) to (screenWidth, height), but my fix changes the dimensions of that window so that its left edge starts at the left side of your central monitor, and its width is as wide as your central monitor (thus the right edge is at the right edge of the central monitor), so now all the radio text appears on the central screen.

 

Hope that helps someone.

Link to comment
Share on other sites

  • 3 weeks later...

I'm running two monitors, with the Abris and Shkval exported to the second one, which runs Helios.

 

The GUI fix does work for most things but doesn't seem to apply to the loading screen, which still gets spread over the two monitors (although I don't see the right-hand half as Helios is set to Always on Top), which isn't that big a deal but looks rather silly.

 

This is what I'm using:

 

_ = function(p) return p; end;
name = _('Higgins');
Description = 'Two monitor configuration';
Viewports =
{
Center =
{
x = 0;
y = 0;
width = 1920;
height = 1200;
viewDx = 0;
viewDy = 0;
aspect = 1.6;
}
}

LEFT_MFCD =
{
x = 2676;
y = 73;
width = 465;
height = 343;
}

RIGHT_MFCD =
{
x = 3230;
y = 384;
width = 370;
height = 485;
}

Gui =
{
x = 460;
y = 0;
width = 1024;
height = screen.height;
}

UIMainView = Gui

Main rig: i5-4670k @4.4Ghz, Asus Z97-A, Scythe Kotetsu HSF, 32GB Kingston Savage 2400Mhz DDR3, 1070ti, Win 10 x64, Samsung Evo 256GB SSD (OS & Data), OCZ 480GB SSD (Games), WD 2TB and WD 3TB HDDs, 1920x1200 Dell U2412M, 1920x1080 Dell P2314T touchscreen

Link to comment
Share on other sites

  • 11 months later...

Hello Everyone

 

I'm definatly a newby when it comes to DCS and I must say looks incredible. And look forward to becoming a member to your community.

I've built a F/A-18E hornet cockpit which is at the moment intefaced with VRS Superhornet. We are in the process of bring our Wing over to DCS.

 

photo-3_zpsa50d12f5.jpg

 

At the moment my main display is 3 27 inch monitors with the center UFCD as a 10 inch touch screen the RDDI and the LDDI are 8 inch screens giving me six screens altogether.

 

I know with FSX it is possible setting up my display by placing panel displays in the DDI's and UFCD. Is there away to do that with DCS? I want to thank you in advance for any help on this.

 

Wood


Edited by Wood

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Very nice; do you have any daylight, pit walkaround pics?

Current Flight Rig

 

i7 4960X @ 4.6Ghz

ASUS Rampage IV Formula

G.SKILL TridentX 2400Mhz 32GB DDR3

Crucial 1TB MX300 SSD

MSI Gaming X 1080Ti

Samsung 55" JS8000 SUHD 4K

Windows 10 x64

TrackIR 5, Warthog HOTAS

Saitek Pro Flight Combat Pedals

Custom Akers-Barnes, MkI eyeball.

 

Link to comment
Share on other sites

  • 1 year later...

3 monitors

 

I am sorry Im such a newb, and my problem is not the GUI that I know of.

I am doing 5670 x 1080 on three screens and when I start the p51 sim, I am

way too close to the NO HAND HOLD and it may be my aspect ratio.

 

I can use my mouse to zoom in and out ONLY in an outside view, not in the cockpit.

 

What do I need to do to correct this ????

 

Thanks for any help.

******************************************************************

Ive messed around with the aspect ratio a little and think 3.6 may be the best ?


Edited by ctguy1955
Link to comment
Share on other sites

  • 5 months later...

Hi Guys!

Sorry for refreshing the old subject but I torture FOV in my config. Please help me cause I go to frustrate :-)

I have a three monitors with running NVidia surround. When I setup in DCS 3 monitors there are a lot of artefacts and shaking clouds etc. So I would like to setup 1 monitor but my both sided monitor showing distorted view - as a stretched blurred view. I am sure responsible for that is correct FOV parametr but I can not find this in new DCS World, trial end error method is impossible to use as I tried a long time. I will be very thanks for help me, please :-D


Edited by mzbuj
Link to comment
Share on other sites

  • 9 months later...

Hi guys I need HELP!

 

I try to center my guy since a half yeahr now and it wont work. i tried evrything. no joke everything.....

 

With this lua i get most of the gui perfectly centered and works.

 

_ = function(p) return p; end;

name = _('1 Screen');

Description = 'One monitor configuration'

Viewports =

{

Center =

{

x = 0;

y = 0;

width = screen.width;

height = screen.height;

viewDx = 0;

viewDy = 0;

aspect = screen.aspect;

}

}

 

Gui =

{

x = screen.width / 3;

y = 0;

width = screen.width / 3;

height = screen.height;

}

 

UIMainView = Gui

 

Pic:upT5r2P.jpg

 

 

but all the menüs, missioneditor everything without the flight scene looks like this:

 

 

 

tt8pmxo.jpg

 

its also the same in Open Alpha

 

I have 3 x 1920x1080 with breezel correction from nvidea i got a resolution 6000x1080


Edited by whaaw

SFMBE



Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...