Hello all. I have been reading these forums as I learn to play X3:TC and although the game is about as wonky as they come I am addicted. I prefer to play my games in windowed full screen and although windowed mode is an option it doesn't quite work right on my Win 7 x64 setup. It has a title bar that it moves off screen and since it doesn't extend to the bottom it doesn't cover the taskbar. Full screen alt tabs poorly. So to fix this.. here is an autohotkey script. If you aren't familiar with autohotkey I highly recommend the program. Running this script you simply hit f12 while in the X3 game running in it's wonky windowed mode and it should then work the way you would expect a fullscreen windowed game to work. If you hit f12 again it will return to wonky window mode. (note sure why you would want to but there ya go).
Code: Select all
F12::
WinGet, TempWindowID, ID, A
If (WindowID != TempWindowID)
{
WindowID:=TempWindowID
WindowState:=0
}
If (WindowState != 1)
{
WinGetPos, WinPosX, WinPosY, WindowWidth, WindowHeight, ahk_id %WindowID%
WinSet, Style, ^0xC00000, ahk_id %WindowID%
WinMove, ahk_id %WindowID%, , 0, 0, ScreenWidth, ScreenHeight
}
Else
{
WinSet, Style, ^0xC00000, ahk_id %WindowID%
WinMove, ahk_id %WindowID%, , WinPosX, WinPosY, WindowWidth, WindowHeight
}
WindowState:=!WindowState
return
Update: While the above code will work regardless of your resolution it appears autohotkey may have a hard time setting the correct screenHeight so if you know what resolution you will be running it is more reliable to hardcode those numbers. This will avoid issues such as the subtitles being cut short or line doubling making text a bit ugly due to it setting the window slightly bigger than your actual resolution.
For example, I run 1920x1080 as my resolution so...
instead of:
Code: Select all
WinMove, ahk_id %WindowID%, , 0, 0, ScreenWidth, ScreenHeight
I now use:
Code: Select all
WinMove, ahk_id %WindowID%, , 0, 0, 1920, 1080
resulting in this:
Code: Select all
F12::
WinGet, TempWindowID, ID, A
If (WindowID != TempWindowID)
{
WindowID:=TempWindowID
WindowState:=0
}
If (WindowState != 1)
{
WinGetPos, WinPosX, WinPosY, WindowWidth, WindowHeight, ahk_id %WindowID%
WinSet, Style, ^0xC00000, ahk_id %WindowID%
WinMove, ahk_id %WindowID%, , 0, 0,1920, 1080
}
Else
{
WinSet, Style, ^0xC00000, ahk_id %WindowID%
WinMove, ahk_id %WindowID%, , WinPosX, WinPosY, WindowWidth, WindowHeight
}
WindowState:=!WindowState
return