truhlik_fredy Posted January 19, 2012 Posted January 19, 2012 (edited) It took me while to find right tools. And went trough almost dozen tools to change resolution and this is first one what works with win7 and multimonitor setup reliably the way I wanted. You might ask what is the problem? Your monitors native resolution could be pretty much lager than you game is able to work at desired fps, + second monitor at native. So I tried experimenting with couple resolutions. Before this script I used some variations of 3 monitors to see what works best for me. For example in case of running 1920x1200 on main 16:10 monitor and then right to it portrait 800x1280 you would end with canvas 2720x1280. On the bottom of main screen you have now 80 pixels of canvas what are not displayed anywhere. Playing multilayer, or using external views, plan editor or some other stuff and you will miss names of players or some informations what are rendered on bottom left, but are not shown on any screen. So best way for me was to use the same vertical resolution so the canvas will be 100% utilised and every pixel of it will be somewhere shown on monitors. Your LCD works best at native resolution (usually, but not always the maximal resolution), and there could be 1-2 more resolutions which are lower but still looks good. Most non-native resolutions are terrible and it ruins the quality, but you should be lucky and find 1-2. Perhaps you will find 1 common resoltion with the same vertical size and you are done. Don't worry if it's not in aspect ration of the monitor, you can have 4:3 resolution on 16:9 monitor and 16:10 monitor (or other aspec ratios) and compensate for booth in the game. So I ended with some desired resolutions, but I was tired to switch them always before playing and wanted to automate it. So I made this script. It requires vidres and nircmd utility. If you like vidres, then you can buy it for 3 pounds, but the free download one works too. So the script changes resolution on your monitors to the desired one (here I set for both 1024x768 ). Start phantomMonitorFix in background, I need it when I have 2 monitor setup and the secondary monitor is to the left. Then it goes to required game path directory and runs game. When you end the game, it closes PhantomMonitorFix and returns to native resolutions, in my case 1920x1080 and 1920x1200. @echo off Vidres.exe /H1024 /V768 /M0 Vidres.exe /H1024 /V768 /M1 start /D "C:\!moje\games\DCS Black Shark 2\PhantomMonitorFix\" phantomMonitorFix.exe c: cd "C:\!moje\games\DCS Black Shark 2\" bin\Launcher.exe echo press any key when game is done pause nircmd closeprocess phantomMonitorFix.exe Vidres.exe /H1920 /V1080 /M0 Vidres.exe /H1920 /V1200 /M1 The code requires alternation of the paths to yours and it expects to have the vidres and nircmd stored somewhere in enviroment path, so perhaps add this paths to the env, or copy it somewhere where the env path is set. Happy flying :pilotfly: Edited January 24, 2012 by truhlik_fredy typos, changed name of title
truhlik_fredy Posted January 24, 2012 Author Posted January 24, 2012 Now it can be used as Standalone, Drag&Drop, Send to or Open With When You run it without parameters, it setups resolution, utilities (phantom fix, helios) and then runs luncher, when you are done it closes them and revert back resolution. But when you supply a recorded track or mission then it runs DCS directly (it's faster than running launcher first) and you have always setup resolution, tools and programs as you wanted and when you are done everything is closed. Very handy when I'm in mood just for quick spin and tired to run everything, run launcher, then chose what you want play, wait again, play and when you done close and revert everything. You can create shortcut for this .cmd script and associate icon to it, so it looks nice. Then you can go to c:\Users\%USER%\AppData\Roaming\Microsoft\Windows\SendTo\ and copy the shorcut and now you see any mission files in file explorer, right click -> send to -> DCS and you play. The same works when you drag the mission file and drop it over this script. Or associate it. I had WinAMP associated with 'miz' filetype, so I first disabled it in WinAMP, then double clicked mission file, dialog appeared where I clicked 'browse' then found mine script. Checked 'always use the selected program to open this kind of file' and now everytime I just double click on mission files and it lunch them in game. You can do the same with recorded tracks, that's 'trk' filetype. And they are automaticly stored in C:\Users\%USER%\Saved Games\DCS BlackShark 2\Tracks @echo off echo Fredy's launcher (c) 2012 echo Preparing... Vidres.exe /H1024 /V768 /M0 Vidres.exe /H1024 /V768 /M1 start /D "C:\!moje\games\DCS Black Shark 2\PhantomMonitorFix\" phantomMonitorFix.exe start /D "C:\Program Files (x86)\SCSimulations\Helios" HeliosControlCenter.exe echo Starting... IF [%1]==[] goto launcher start /WAIT /D "C:\!moje\games\DCS Black Shark 2\" bin\DCS.exe %1 goto end :launcher start /WAIT /D "C:\!moje\games\DCS Black Shark 2\" bin\Launcher.exe echo press any key when you are done with game pause goto end :end echo Shut down... nircmd closeprocess phantomMonitorFix.exe nircmd closeprocess HeliosControlCenter.exe Vidres.exe /H1920 /V1080 /M0 Vidres.exe /H1920 /V1200 /M1
Recommended Posts