Initial commit
This commit is contained in:
parent
b12f8448c8
commit
316f6bbef0
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/base
|
||||||
|
/Output
|
||||||
|
/skse
|
||||||
|
/*.chm
|
||||||
|
/*.chw
|
||||||
|
/*.exe
|
||||||
|
/*.cmd
|
319
EnderalInstaller.iss
Normal file
319
EnderalInstaller.iss
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
#define RemoteHost GetEnv('REMOTE_HOST')
|
||||||
|
#define RemoteVersionDir GetEnv('REMOTE_DIR_VERSIONED')
|
||||||
|
#define RemoteMediaDir GetEnv('REMOTE_DIR_MEDIA')
|
||||||
|
|
||||||
|
[Setup]
|
||||||
|
AppName=Enderal SE
|
||||||
|
DefaultGroupName=Enderal SE
|
||||||
|
AppVersion=2.1.0
|
||||||
|
AppVerName=Enderal SE 2.1 [mod.pub]
|
||||||
|
AppPublisher=ModPub
|
||||||
|
AppPublisherURL=https://mod.pub/
|
||||||
|
AppReadmeFile=https://mod.pub/enderal-se/38-enderal-se
|
||||||
|
AppSupportURL=https://mod.pub/enderal-se/38/comments
|
||||||
|
AppUpdatesURL=https://mod.pub/enderal-se/38/files
|
||||||
|
WizardStyle=modern
|
||||||
|
DefaultDirName={drive:{src}}\Games\Enderal SE
|
||||||
|
ArchitecturesAllowed=x64
|
||||||
|
OutputBaseFilename=EnderalSE_Install
|
||||||
|
ExtraDiskSpaceRequired=20204613632
|
||||||
|
AllowNetworkDrive=no
|
||||||
|
Compression=lzma2/max
|
||||||
|
SolidCompression=yes
|
||||||
|
SetupIconFile=enderal.ico
|
||||||
|
UninstallDisplayName=Enderal SE
|
||||||
|
UninstallDisplayIcon={app}\Game\Data\enderal.ico
|
||||||
|
DisableWelcomePage=yes
|
||||||
|
DisableDirPage=no
|
||||||
|
DisableProgramGroupPage=no
|
||||||
|
AllowNoIcons=yes
|
||||||
|
|
||||||
|
[Files]
|
||||||
|
; Root
|
||||||
|
Source: "{code:GetSkyrimPath}\SkyrimSE.exe"; DestDir: "{app}\Game"; Flags: external ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\SkyrimSELauncher.exe"; DestDir: "{app}\Game"; Check: IsNotVR(); Flags: external ignoreversion
|
||||||
|
|
||||||
|
Source: "{code:GetSkyrimPath}\SkyrimVR.exe"; DestDir: "{app}\Game"; Check: IsVR(); Flags: external ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\openvr_api.dll"; DestDir: "{app}\Game"; Check: IsVR(); Flags: external ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\atimgpud.dll"; DestDir: "{app}\Game"; Check: IsVR(); Flags: external ignoreversion
|
||||||
|
|
||||||
|
Source: "{code:GetSkyrimPath}\steam_api64.dll"; DestDir: "{app}\Game"; Check: IsSteam(); Flags: external ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\Galaxy64.dll"; DestDir: "{app}\Game"; Check: IsGOG(); Flags: external ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\binkw64.dll"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist ignoreversion
|
||||||
|
Source: "{code:GetSkyrimPath}\bink2w64.dll"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist ignoreversion
|
||||||
|
|
||||||
|
Source: "{code:GetSkyrimPath}\ControlMap_Custom.txt"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\Skyrim_Default.ini"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\High.ini"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\Low.ini"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\Medium.ini"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\Ultra.ini"; DestDir: "{app}\Game"; Flags: external skipifsourcedoesntexist
|
||||||
|
|
||||||
|
; Data
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Animations.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Interface.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Meshes0.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Meshes1.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Shaders.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Sounds.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures0.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures1.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures2.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures3.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures4.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures5.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures6.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures7.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Textures8.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim - Patch.bsa"; DestDir: "{app}\Game\Data"; Flags: external comparetimestamp skipifsourcedoesntexist
|
||||||
|
Source: "{code:GetSkyrimPath}\Data\Skyrim_VR - Main.bsa"; DestDir: "{app}\Game\Data"; Check: IsVR(); Flags: external comparetimestamp
|
||||||
|
|
||||||
|
; Enderal
|
||||||
|
Source: "base\*"; DestDir: "{app}\Game\Data"; Excludes: "*.esl,ccBGSSSE001-Fish.esm,ccBGSSSE025-AdvDSGS.esm,E - Meshes.bsa,E - Sounds.bsa,E - Textures1.bsa,E - Textures2.bsa,L - Voices.bsa,Enderal_Credits.bik,EnderalIntro.bik,MQ17BlackGuardian.bik,MQP03NearDeathExperience.bik"; Flags: recursesubdirs ignoreversion
|
||||||
|
|
||||||
|
; SKSE
|
||||||
|
Source: "skse\1.4.15.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.4.15.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.5.97.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.5.97.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.6.640.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.6.640.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.6.659.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.6.659.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.6.1130.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.6.1130.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.6.1170.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.6.1170.0'); Flags: ignoreversion
|
||||||
|
Source: "skse\1.6.1179.0\*"; DestDir: "{app}\Game"; Check: IsSkyrimVersion('1.6.1179.0'); Flags: ignoreversion
|
||||||
|
|
||||||
|
Source: "wget.exe"; DestDir: "{app}"; Flags: deleteafterinstall ignoreversion
|
||||||
|
Source: "modlhandler.exe"; DestDir: "{app}\MO2"; Flags: uninsneveruninstall ignoreversion
|
||||||
|
|
||||||
|
[InstallDelete]
|
||||||
|
Type: files; Name: "{app}\Game\SkyrimSE.exe"
|
||||||
|
Type: files; Name: "{app}\Game\SkyrimSELauncher.exe"
|
||||||
|
Type: files; Name: "{app}\Game\SkyrimVR.exe"
|
||||||
|
Type: files; Name: "{app}\Game\sksevr_*.dll"
|
||||||
|
Type: files; Name: "{app}\Game\skse64_*.dll"
|
||||||
|
Type: files; Name: "{app}\Game\skse*_steam_loader.dll"
|
||||||
|
Type: files; Name: "{app}\Game\steam_api64.dll"
|
||||||
|
Type: files; Name: "{app}\Game\Galaxy64.dll"
|
||||||
|
Type: files; Name: "{app}\Game\binkw64.dll"
|
||||||
|
Type: files; Name: "{app}\Game\bink2w64.dll"
|
||||||
|
Type: files; Name: "{app}\Game\openvr_api.dll"
|
||||||
|
Type: files; Name: "{app}\Game\atimgpud.dll"
|
||||||
|
Type: files; Name: "{app}\Game\Data\SkyrimVR.esm"
|
||||||
|
|
||||||
|
[UninstallDelete]
|
||||||
|
Type: files; Name: "{app}\Game\Data\E - Meshes.bsa"
|
||||||
|
Type: files; Name: "{app}\Game\Data\E - Sounds.bsa"
|
||||||
|
Type: files; Name: "{app}\Game\Data\E - Textures1.bsa"
|
||||||
|
Type: files; Name: "{app}\Game\Data\E - Textures2.bsa"
|
||||||
|
Type: files; Name: "{app}\Game\Data\L - Voices.bsa"
|
||||||
|
|
||||||
|
Type: files; Name: "{app}\Game\Data\Video\Enderal_Credits.bik"
|
||||||
|
Type: files; Name: "{app}\Game\Data\Video\EnderalIntro.bik"
|
||||||
|
Type: files; Name: "{app}\Game\Data\Video\MQ17BlackGuardian.bik"
|
||||||
|
Type: files; Name: "{app}\Game\Data\Video\MQP03NearDeathExperience.bik"
|
||||||
|
|
||||||
|
Type: dirifempty; Name: "{app}\Game\Data"
|
||||||
|
Type: dirifempty; Name: "{app}\Game\Creations"
|
||||||
|
Type: dirifempty; Name: "{app}\Game\Mods"
|
||||||
|
Type: dirifempty; Name: "{app}\Game"
|
||||||
|
|
||||||
|
[Run]
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading E - Meshes.bsa (1.48 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data"" ""{#RemoteHost}/{#RemoteVersionDir}/E%20-%20Meshes.bsa"""; Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading E - Textures1.bsa (1.7 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data"" ""{#RemoteHost}/{#RemoteVersionDir}/E%20-%20Textures1.bsa"""; Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading E - Textures2.bsa (1.72 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data"" ""{#RemoteHost}/{#RemoteVersionDir}/E%20-%20Textures2.bsa"""; Flags: runhidden
|
||||||
|
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading E - Sounds.bsa (1.3 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data"" ""{#RemoteHost}/{#RemoteMediaDir}/E%20-%20Sounds.bsa"""; Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading L - Voices.bsa (1.38 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data"" ""{#RemoteHost}/{#RemoteMediaDir}/L%20-%20Voices.bsa"""; Flags: runhidden
|
||||||
|
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading Enderal_Credits.bik (1.29 Gb)..."; Parameters: "-nd -N -P ""{app}\Game\Data\Video"" ""{#RemoteHost}/{#RemoteMediaDir}/Video/Enderal_Credits.bik"""; Check: IsNotVR(); Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading EnderalIntro.bik (275 Mb)..."; Parameters: "-nd -N -P ""{app}\Game\Data\Video"" ""{#RemoteHost}/{#RemoteMediaDir}/Video/EnderalIntro.bik"""; Check: IsNotVR(); Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading MQ17BlackGuardian.bik (474 Mb)..."; Parameters: "-nd -N -P ""{app}\Game\Data\Video"" ""{#RemoteHost}/{#RemoteMediaDir}/Video/MQ17BlackGuardian.bik"""; Check: IsNotVR(); Flags: runhidden
|
||||||
|
Filename: "{app}\wget.exe"; StatusMsg: "Downloading MQP03NearDeathExperience.bik (38 Mb)..."; Parameters: "-nd -N -P ""{app}\Game\Data\Video"" ""{#RemoteHost}/{#RemoteMediaDir}/Video/MQP03NearDeathExperience.bik"""; Check: IsNotVR(); Flags: runhidden
|
||||||
|
|
||||||
|
Filename: "{tmp}\Mod.Organizer-2.5.0.exe"; Parameters: "/SILENT /DIR=""{app}\MO2"""
|
||||||
|
Filename: "{app}\MO2\modlhandler.exe"; Parameters: "forcereg"; Flags: runhidden
|
||||||
|
Filename: "{cmd}"; Parameters: "/d /c del /s /q ""{tmp}\Mod.Organizer-2.5.0.exe"""; Flags: runhidden
|
||||||
|
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.exe"; Parameters: """moshortcut://:SKSE"""; Description: "Launch Enderal SE"; Flags: postinstall
|
||||||
|
Filename: "https://mod.pub/enderal-se/38/changelogs"; Description: "See changelog"; Flags: shellexec postinstall runmaximized
|
||||||
|
|
||||||
|
[INI]
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "gameName"; String: "Skyrim VR"; Check: IsVR()
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "gameName"; String: "Skyrim Special Edition"; Check: IsNotVR()
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "first_start"; String: "false"
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "selected_profile"; String: "@ByteArray(Default)"; Flags: createkeyifdoesntexist
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "game_edition"; String: "Steam"; Check: IsSteam()
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "game_edition"; String: "GOG"; Check: IsGOG()
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "gamePath"; String: "@ByteArray({code:DoubleBackslashes|{app}}\\Game)"
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "General"; Key: "version"; String: "2.5"
|
||||||
|
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "profile_local_inis"; String: "true"
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "profile_local_saves"; String: "true"
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "profile_archive_invalidation"; String: "true"
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "compact_downloads"; String: "true"; Flags: createkeyifdoesntexist
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "category_mappings"; String: "false"; Flags: createkeyifdoesntexist
|
||||||
|
Filename: "{app}\MO2\ModOrganizer.ini"; Section: "Settings"; Key: "base_directory"; String: "{code:ConvertBackslashes|{app}}/Data"
|
||||||
|
|
||||||
|
Filename: "{app}\Data\profiles\Default\skyrimprefs.ini"; Section: "Display"; Key: "iShadowMaskQuarter"; String: "4"
|
||||||
|
Filename: "{app}\Data\profiles\Default\skyrimprefs.ini"; Section: "Controls"; Key: "fMouseHeadingSensitivity"; String: "0.0420"; Flags: createkeyifdoesntexist
|
||||||
|
|
||||||
|
[Icons]
|
||||||
|
Name: "{userdesktop}\Enderal SE"; Filename: "{app}\MO2\ModOrganizer.exe"; WorkingDir: "{app}\MO2"; Parameters: """moshortcut://:SKSE"""; IconFilename: "{app}\Game\Data\enderal.ico"
|
||||||
|
Name: "{app}\Run Enderal SE"; Filename: "{app}\MO2\ModOrganizer.exe"; WorkingDir: "{app}\MO2"; Parameters: """moshortcut://:SKSE"""; IconFilename: "{app}\Game\Data\enderal.ico"
|
||||||
|
Name: "{group}\Run Enderal SE"; Filename: "{app}\MO2\ModOrganizer.exe"; WorkingDir: "{app}\MO2"; Parameters: """moshortcut://:SKSE"""; IconFilename: "{app}\Game\Data\enderal.ico"
|
||||||
|
Name: "{group}\Manage mods"; Filename: "{app}\MO2\ModOrganizer.exe"; WorkingDir: "{app}\MO2"; Flags: runmaximized
|
||||||
|
Name: "{group}\Uninstall"; Filename: "{uninstallexe}"
|
||||||
|
|
||||||
|
[Registry]
|
||||||
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{app}\MO2\ModOrganizer.exe"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; MinVersion: 0,6.1
|
||||||
|
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{app}\MO2\ModOrganizer.exe"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; MinVersion: 0,6.1
|
||||||
|
Root: HKCU; Subkey: "Software\SureAI\EnderalSE"; ValueType: string; ValueName: "Install_Path"; ValueData: "{app}\Game\"
|
||||||
|
|
||||||
|
[Code]
|
||||||
|
var
|
||||||
|
SkyrimDirPage: TInputDirWizardPage;
|
||||||
|
DownloadPage: TDownloadWizardPage;
|
||||||
|
sSkyrimPath, sSkyrimVersion: String;
|
||||||
|
|
||||||
|
function IsSkyrimVersion(Param: String): Boolean;
|
||||||
|
begin
|
||||||
|
if sSkyrimVersion = Param then
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsGOG(): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (sSkyrimVersion = '1.6.659.0') or (sSkyrimVersion = '1.6.1179.0');
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsVR(): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (sSkyrimVersion = '1.4.15.0');
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsNotVR(): Boolean;
|
||||||
|
begin
|
||||||
|
Result := not IsVR();
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsSteam(): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (not IsGOG()) and (not IsVR());
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GetSkyrimPath(Param: String): String;
|
||||||
|
begin
|
||||||
|
Result := sSkyrimPath;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ConvertBackslashes(Param: String): String;
|
||||||
|
begin
|
||||||
|
StringChangeEx(Param, '\', '/', True);
|
||||||
|
Result := Param;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DoubleBackslashes(Param: String): String;
|
||||||
|
begin
|
||||||
|
StringChangeEx(Param, '\', '\\', True);
|
||||||
|
Result := Param;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function OnDownloadProgress(const Url, FileName: String; const Progress, ProgressMax: Int64): Boolean;
|
||||||
|
begin
|
||||||
|
if Progress = ProgressMax then
|
||||||
|
Log(Format('Successfully downloaded file to {tmp}: %s', [FileName]));
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function FindSkyrimPath(): Boolean;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
if not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Bethesda Softworks\Skyrim Special Edition GOG', 'Installed Path', sSkyrimPath) then
|
||||||
|
if not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Bethesda Softworks\Skyrim Special Edition', 'Installed Path', sSkyrimPath) then
|
||||||
|
if not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Bethesda Softworks\Skyrim VR', 'Installed Path', sSkyrimPath) then
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure InitializeWizard;
|
||||||
|
begin
|
||||||
|
FindSkyrimPath();
|
||||||
|
|
||||||
|
SkyrimDirPage := CreateInputDirPage(wpSelectTasks, 'Skyrim SE location', 'All necessary files will be copied to the Enderal SE directory, creating a new copy of Skyrim. The original Skyrim installation will not be modified.', '', False, '');
|
||||||
|
SkyrimDirPage.Add('Select a directory with installed Skyrim Special Edition:');
|
||||||
|
SkyrimDirPage.Values[0] := RemoveBackslashUnlessRoot(sSkyrimPath);
|
||||||
|
|
||||||
|
DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), @OnDownloadProgress);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||||
|
var
|
||||||
|
supportedVersions: TStringList;
|
||||||
|
begin
|
||||||
|
if CurPageID = SkyrimDirPage.ID then begin
|
||||||
|
sSkyrimPath := RemoveBackslashUnlessRoot(SkyrimDirPage.Values[0]) + '\';
|
||||||
|
|
||||||
|
if not GetVersionNumbersString(sSkyrimPath + 'SkyrimSE.exe', sSkyrimVersion) then begin
|
||||||
|
Result := False;
|
||||||
|
MsgBox('Please, select a directory with installed Skyrim Special Edition.', mbError, MB_OK);
|
||||||
|
Exit;
|
||||||
|
end
|
||||||
|
else if (sSkyrimVersion = '1.0.0.0') and FileExists(sSkyrimPath + 'binkw64.dll') then begin
|
||||||
|
if FileExists(sSkyrimPath + 'SkyrimVR.exe') then
|
||||||
|
sSkyrimVersion := '1.4.15.0'
|
||||||
|
else
|
||||||
|
sSkyrimVersion := '1.5.97.0';
|
||||||
|
end;
|
||||||
|
|
||||||
|
StringChangeEx(sSkyrimVersion, ' ', '', True);
|
||||||
|
|
||||||
|
supportedVersions := TStringList.Create;
|
||||||
|
supportedVersions.Add('1.4.15.0');
|
||||||
|
supportedVersions.Add('1.5.97.0');
|
||||||
|
supportedVersions.Add('1.6.640.0');
|
||||||
|
supportedVersions.Add('1.6.659.0');
|
||||||
|
supportedVersions.Add('1.6.1130.0');
|
||||||
|
supportedVersions.Add('1.6.1170.0');
|
||||||
|
supportedVersions.Add('1.6.1179.0');
|
||||||
|
|
||||||
|
if supportedVersions.IndexOf(sSkyrimVersion) < 0 then begin
|
||||||
|
Result := False;
|
||||||
|
MsgBox('Skyrim SE ' + sSkyrimVersion + ' is untested with this version of Enderal SE.', mbError, MB_OK);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if CurPageID = wpReady then begin
|
||||||
|
if not FileExists(ExpandConstant('{app}') + '\Data\profiles\Default\plugins.txt') then begin
|
||||||
|
ForceDirectories(ExpandConstant('{app}') + '\Data\profiles\Default');
|
||||||
|
SaveStringToFile(ExpandConstant('{app}') + '\Data\profiles\Default\plugins.txt', '# This file was automatically generated by Mod Organizer.' + #13#10 + '*Enderal - Forgotten Stories.esm' + #13#10, False);
|
||||||
|
end;
|
||||||
|
|
||||||
|
DownloadPage.Clear;
|
||||||
|
DownloadPage.Add('https://github.com/ModOrganizer2/modorganizer/releases/download/v2.5.0/Mod.Organizer-2.5.0.exe', 'Mod.Organizer-2.5.0.exe', '');
|
||||||
|
DownloadPage.Show;
|
||||||
|
try
|
||||||
|
try
|
||||||
|
DownloadPage.Download; // This downloads the files to {tmp}
|
||||||
|
Result := True;
|
||||||
|
except
|
||||||
|
if DownloadPage.AbortedByUser then
|
||||||
|
Log('Aborted by user.')
|
||||||
|
else
|
||||||
|
SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK);
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
DownloadPage.Hide;
|
||||||
|
end;
|
||||||
|
end else
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
|
||||||
|
var
|
||||||
|
S: String;
|
||||||
|
begin
|
||||||
|
S := MemoDirInfo;
|
||||||
|
S := S + NewLine + NewLine + 'Skyrim location:';
|
||||||
|
S := S + NewLine + Space + RemoveBackslashUnlessRoot(sSkyrimPath);
|
||||||
|
S := S + NewLine + Space + 'v' + sSkyrimVersion;
|
||||||
|
Result := S;
|
||||||
|
end;
|
BIN
enderal.ico
Normal file
BIN
enderal.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
Loading…
Reference in New Issue
Block a user