parent
b12f8448c8
commit
316f6bbef0
3 changed files with 326 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||||||
|
/base |
||||||
|
/Output |
||||||
|
/skse |
||||||
|
/*.chm |
||||||
|
/*.chw |
||||||
|
/*.exe |
||||||
|
/*.cmd |
@ -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; |
After Width: | Height: | Size: 31 KiB |
Loading…
Reference in new issue