Keresés

Új hozzászólás Aktív témák

  • Keeperv85

    nagyúr

    Sziasztok!

    Igaz nem Delphi, hanem Lazarus, de a probléma valahonnan közös gyökérről eredhet. Nagyon egyszerű dolgot szeretnék, adott egy kis kép, kattintás eseményben indítsa el az alkalmazásom.

    var
    Registry: TRegistry;
    path: string;
    begin
    Registry:=TRegistry.Create(KEY_READ);
    Registry.RootKey:=HKEY_LOCAL_MACHINE;
    if Registry.OpenKey('SOFTWARE\Bethesda Softworks\FalloutNV', False) then
    begin
    path := Registry.ReadString('Installed Path');
    SysUtils.ExecuteProcess(UTF8ToSys(path+'FalloutNV.exe'), '', []);
    end
    else
    MessageDlg('The selected key does not exist', mtError, [mbOK], 0);
    Registry.Free;
    end;

    Ennyi és nem több. Na most addig minden szép és jó, hogy megtalálja a fájlt, elindítja, látom, hogy a kezdő fekete képernyő betölt. Aztán összeomlik az indított exe...

    Nem tudom mi tévő legyek, mert a ShellExecute hívással is ugyan ezt csinálja... :(

  • Keeperv85

    nagyúr

    válasz Fire/SOUL/CD #2012 üzenetére

    Kösz, ezt közben megoldottam. :B

    A gond az, hogy a fő exe fájl visszakéri, hogy az indító exe hol van éppen. Vissza kell neki adni paraméterben, hogy ahonnan indult, az a játék főkönyvtára. Persze ez fake, de megeszi így:

    ...
    ShellExecute(handle,'open',PChar(path+'FalloutNV.exe'),nil,PChar(path),SW_SHOWNORMAL);
    ...

    Most mással küszködök, ami koránt sem ennyire egyértelmű...

    Van az eredeti launcherben jó pár Checkbox. Kettő közülük egy pár: azt csinálja, hogy az aslóba egy szűrés után betölti a támogatott felbontásokat. Ez addig nem gond, hogy az összes felbontást lekérem a Windows API-ből, majd megszűröm a listát. Gyakorlatilag első körben ki kell dobni a 640x480-as sorokat és a 16 bites színmélységet.

    Eddig oké... Csakhogy a felső Checkbox az Aspect Ratio (képarány), amihez kéne írjak valami okosságot, hogy úgy válogassa ki az alsó Checkbox sorait, ahogy a képarányok be vannak a felsőn állítva.

    Na itt fogyott el azt hiszem a tudományom, mert ki kéne talán számoltatni minden felbontásra talán az arányt...

    ...de még ha sikerülne is, a következő funkcióra esélyem nincs szerintem sem Delphi sem Lazarus alatt:

    Van egy gobmunk, ami automatikusan beállítja a géphez az ajánlott konfigurációt. Az csak egy dolog, hogy 5 fájlból választ "csupán". Viszont nem tudom mi alapján... Biztos elég összetett a függvény, ami a procit, VGA-t memóriát, oprendszert stb. végigkérdezi és aligha hiszem, hogy újra tudnám írni...

    Azért álltam neki amúgy, mert a játék igen régóta készülő magyarítása mellé jó lenne egy teljesen magyar launcher is. Ám ez máshogy nem megoldható, csak ha nulláról van megírva...

Új hozzászólás Aktív témák