Po kilku godzinach szperania w necie udalo mi sie stworzyc bardzo fajny kod do AutoHotKey'a (instalka do sciagniecia pod tym adresem. Dzieki temu kodowi mozna odpalic FFXIV w windowed mode pozbywszy sie windowsowskiej belki; dodatkowo przed uruchomieniem gry zmienia sie rozdzielczosc pulpitu - swietna sprawa dla kogos kto jak ja uruchamia gre w mniejszej rozdzielczosci niz ma ustawiona dla pulpitu.
Kod edytujemy pod zwyklym edytorem tekstu pamietac trzeba jedynie "zeby po zakonczeniu edycji zapisac plik z rozszerzeniem *.ahk". Tak przerobiony plik zapisujemy na pulpicie i stamtad odpalamy. W moim przypadku caly kod wyglada tak:
EncodeInteger( p_value, p_size, p_address, p_offset )
{
loop, %p_size%
DllCall( "RtlFillMemory"
, "uint", p_address+p_offset+A_Index-1
, "uint", 1
, "uchar", ( p_value >> ( 8*( A_Index-1 ) ) ) & 0xFF )
}
struct_devicemode_size = 156
VarSetCapacity( device_mode, 156, 0 )
EncodeInteger( struct_devicemode_size, 2, &device_mode, 36 )
success := DllCall( "EnumDisplaySettings", "uint", 0, "uint", -1, "uint", &device_mode )
; DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY
EncodeInteger( 0x00040000|0x00080000|0x00100000|0x00400000, 4, &device_mode, 40 )
EncodeInteger( 32, 4, &device_mode, 104 ) ; quality (i.e., color depth)
EncodeInteger( 1366, 4, &device_mode, 108 ) ; width
EncodeInteger( 768, 4, &device_mode, 112 ) ; height
EncodeInteger( 60, 4, &device_mode, 120 ) ; frequency (i.e., refresh rate)
DllCall( "ChangeDisplaySettings", "uint", &device_mode, "uint", 0 )
Run, ffxivboot.exe, E:\Games W7\FFXIV\SquareEnix\FINAL FANTASY XIV
WinWait, FINAL FANTASY XIV Login ver
SetTitleMatchMode, 3
WinWait, FINAL FANTASY XIV
WinSet, Style, -0xC00000, FINAL FANTASY XIV
WinMove, FINAL FANTASY XIV, , 0, 0, 1366, 768
ExitApp
Ponizej kod z moim opisem zmiennych. :) Pierwsza czesc - zmiana rozdzielczosci:
Run, ffxivboot.exe, E:\Games W7\FFXIV\SquareEnix\FINAL FANTASY XIV - tu musicie wklepac dokladna sciezke do pliku ffxivboot.exe, plik znajduje sie w katalogu w ktorym zainstalowaliscie gre na swoim komputerze!
WinWait, FINAL FANTASY XIV Login ver
SetTitleMatchMode, 3
WinWait, FINAL FANTASY XIV
WinSet, Style, -0xC00000, FINAL FANTASY XIV
WinMove, FINAL FANTASY XIV, , 0, 0, 1366, 768 - tutaj podajecie rozdzielczosc w jakiej uruchamiacie gre - dodatkowo grzebiac w tych parametrach mozna odpalic gre na drugim monitorze, przydatna rzecz jesli ktos korzysta z dwoch monitorow. :)!
ExitApp
Ozi Member replied
743 weeks ago