diff --git a/installer/Attach.dpr b/installer/Attach.dpr index 80456cb..9268092 100644 --- a/installer/Attach.dpr +++ b/installer/Attach.dpr @@ -13,6 +13,13 @@ begin WriteLn(''); WriteLn('// Looking up files...'); { Check files } + if FileExists(ExtractFilePath(ParamStr(0)) + 'files\hl2launch.exe') then + WriteLn('// Found files\hl2launch.exe') + else begin + WriteLn('// Error: Couldn''t find files\hl2launch.exe!'); + ReadLn; + exit; + end; if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server.dll') then WriteLn('// Found files\server.dll') else begin @@ -37,6 +44,7 @@ begin { Compress files } WriteLn('// Compressing files...'); eFiles := TStringList.Create; + eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\hl2launch.exe'); eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server.dll'); eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so'); eStream := TMemoryStream.Create; diff --git a/installer/Attach.exe b/installer/Attach.exe index eeb4464..9e33477 100644 Binary files a/installer/Attach.exe and b/installer/Attach.exe differ diff --git a/installer/MMS_Installer.exe b/installer/MMS_Installer.exe index e65d137..8c8152b 100644 Binary files a/installer/MMS_Installer.exe and b/installer/MMS_Installer.exe differ diff --git a/installer/UnitInstall.pas b/installer/UnitInstall.pas index 0ee7600..6fda5eb 100644 --- a/installer/UnitInstall.pas +++ b/installer/UnitInstall.pas @@ -13,7 +13,7 @@ procedure AddSkipped; procedure AddNotFound; procedure DownloadFile(eFile: String; eDestination: String); -procedure BasicInstallation(ePath: String; SteamInstall: Boolean; OS: TOS); +procedure BasicInstallation(ePath: String; SteamInstall, ListenInstall: Boolean; OS: TOS); procedure InstallDedicated(eModPath: String; UseSteam: Boolean); procedure InstallListen(ePath: String); procedure InstallCustom(ePath: String; eOS: TOS); @@ -218,13 +218,13 @@ end; { Basic Installation } -procedure BasicInstallation(ePath: String; SteamInstall: Boolean; OS: TOS); +procedure BasicInstallation(ePath: String; SteamInstall, ListenInstall: Boolean; OS: TOS); var eStr: TStringList; i: integer; CopyConfig: Boolean; eFound: Boolean; begin - frmMain.ggeAll.MaxValue := 7; + frmMain.ggeAll.MaxValue := 8; frmMain.ggeAll.Progress := 0; frmMain.ggeItem.MaxValue := 1; frmMain.ggeItem.Progress := 0; @@ -257,8 +257,9 @@ begin AddDone; frmMain.ggeAll.Progress := 2; frmMain.ggeItem.Progress := 1; - { Check for installation } + { Check for installation / Create directories } CopyConfig := True; + AddStatus('Creating directories...', clBlack); if DirectoryExists(ePath + 'addons\metamod\bin') then begin case MessageBox(frmMain.Handle, 'A Metamod:Source installation was already detected. If you choose to reinstall, your configuration files will be erased. Click Yes to continue, No to Upgrade, or Cancel to abort the install.', PChar(frmMain.Caption), MB_ICONQUESTION + MB_YESNOCANCEL) of mrNo: CopyConfig := False; @@ -267,16 +268,13 @@ begin exit; end; end; - end; - AddStatus('Creating directories...', clBlack); - if not eFound then begin - { Create directories } + AddSkipped; + end + else begin frmMain.ggeItem.Progress := 0; ForceDirectories(ePath + 'addons\metamod\bin'); AddDone; - end - else - AddSkipped; + end; frmMain.ggeItem.Progress := 1; frmMain.ggeAll.Progress := 3; @@ -322,9 +320,9 @@ begin break; end; end; - FileSetAttr(ePath + 'gameinfo.txt', 0); + SetFileAttributes(PChar(ePath + 'gameinfo.txt'), 0); eStr.SaveToFile(ePath + 'gameinfo.txt'); - FileSetAttr(ePath + 'gameinfo.txt', faReadOnly); // important for listen servers + SetFileAttributes(PChar(ePath + 'gameinfo.txt'), faReadOnly); // important for listen servers AddDone; end else @@ -340,21 +338,30 @@ begin AddDone; frmMain.ggeItem.Progress := 1; frmMain.ggeAll.Progress := 6; + if ListenInstall then begin + ePath := ExtractFilePath(Copy(ePath, 1, Length(ePath)-1)); + AddStatus('Copying hl2launch.exe...', clBlack); + CopyFile(PChar(ExtractFilePath(ParamStr(0)) + 'hl2launch.exe'), PChar(ePath + 'hl2launch.exe'), False); + AddDone; + end; { Remove files } frmMain.ggeItem.Progress := 0; AddStatus('Removing temporary files...', clBlack); + DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'hl2launch.exe')); DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server.dll')); DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server_i486.so')); AddDone; frmMain.ggeItem.Progress := 1; - frmMain.ggeAll.Progress := 7; + frmMain.ggeAll.Progress := 8; { Finish } AddStatus('', clBlack, False); AddStatus('Finished installation!', clBlack, False); frmMain.cmdNext.Enabled := True; frmMain.cmdCancel.Hide; - Screen.Cursor := crDefault; + + if ListenInstall then + MessageBox(frmMain.Handle, PChar('hl2launch.exe has been copied to ' + ePath + '. Start it if you want to use Metamod:Source on your listen server, default starts won''t work.'), PChar(Application.Title), MB_ICONINFORMATION); end; { Dedicated Server } @@ -364,7 +371,7 @@ begin StartTime := Now; Screen.Cursor := crHourGlass; AddStatus('Starting Metamod:Source installation on dedicated server...', clBlack, False); - BasicInstallation(eModPath, UseSteam, osWindows); + BasicInstallation(eModPath, UseSteam, False, osWindows); end; { Listen Server } @@ -374,7 +381,7 @@ begin StartTime := Now; Screen.Cursor := crHourGlass; AddStatus('Starting Metamod:Source installation on the listen server...', clBlack); - BasicInstallation(ePath, True, osWindows); + BasicInstallation(ePath, True, True, osWindows); end; { Custom mod } @@ -384,7 +391,7 @@ begin StartTime := Now; Screen.Cursor := crHourGlass; AddStatus('Starting Metamod:Source installation...', clBlack); - BasicInstallation(ePath, False, eOS); + BasicInstallation(ePath, False, False, eOS); end; { FTP } @@ -407,10 +414,7 @@ label CreateAgain; label UploadAgain; var eStr: TStringList; i: integer; - ePath: String; - CurNode: TTreeNode; CopyConfig, eFound: Boolean; - eGoBack: Boolean; begin frmMain.cmdCancel.Show; frmMain.cmdNext.Hide; diff --git a/installer/UnitfrmMain.dfm b/installer/UnitfrmMain.dfm index 4852520..1153623 100644 --- a/installer/UnitfrmMain.dfm +++ b/installer/UnitfrmMain.dfm @@ -8071,6 +8071,7 @@ object frmMain: TfrmMain Width = 509 Height = 24 AdvColorBorder = 0 + MaxValue = 8 Progress = 0 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -8625,53 +8626,117 @@ object frmMain: TfrmMain Top = 8 Bitmap = { 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000001000000001001000000000000008 - 0000000000000000000000000000000000000000205E205E205E205E205E205E - 205E205E205E205E205E205E205E000000000000205E205E205E205E205E205E - 205E205E205E205E205E205E0000000000000000000000000000000000000000 + 0000000000003600000028000000400000001000000001002000000000000010 + 00000000000000000000000000000000000000000000008CBD00008CBD00008C + BD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD00008CBD00008CBD00000000000000000000000000008CBD00008CBD00008C + BD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD00008CBD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD0063CEF700008CBD00A5F7 + FF0063CEF70063CEF70063CEF70063CEF70063CEF70063CEF70063CEF70063CE + F70039ADDE00ADF7FF00008CBD0000000000008CBD0021A5CE005ACEEF0084E7 + FF0063CEF70063CEF70063CEF70063CEF70063CEF70063CEF70063CEF70063CE + F70039ADDE001094C60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD006BD6F700008CBD00ADF7 + FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6 + FF0039ADDE00BDEFF700008CBD0000000000008CBD004ABDE70031ADD60094EF + FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6FF006BD6 + FF0039B5DE00CEF7FF00008CBD00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD0073D6FF00008CBD00ADF7 + FF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDE + FF0042B5DE00BDEFF700008CBD0000000000008CBD0073D6FF00008CBD00ADFF + FF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDEFF007BDE + FF0042B5DE00CEF7FF00008CBD00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD007BDEFF00008CBD00B5F7 + FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7 + FF0042B5DE00C6F7F700008CBD0000000000008CBD007BDEFF001094C60094EF + FF0094EFFF0084E7FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7FF0084E7 + FF004ABDE700CEF7FF001094C600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD0084E7FF00008CBD00BDF7 + FF008CEFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEF + FF004ABDE700BDF7FF00008CBD0000000000008CBD0084E7FF0042B5DE005AC6 + EF00ADFFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEFFF008CEF + FF004ABDE700CEF7FF00CEF7FF00008CBD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD008CEFFF00008CBD00D6F7 + FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7 + FF00BDDEDE00D6F7FF00008CBD0000000000008CBD008CE7FF007BDEFF0021A5 + CE00E7FFFF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7FF00CEF7 + FF0094EFFF00E7FFFF00CEF7FF00008CBD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD0094F7FF00008CBD00008C + BD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD00008CBD00008CBD00008CBD0000000000008CBD0094F7FF0094F7FF001094 + C600008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD00008CBD00008CBD00008CBD00008CBD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD009CF7FF009CF7FF009CF7 + FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7 + FF00008CBD00000000000000000000000000008CBD009CF7FF009CF7FF009CF7 + FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7FF009CF7 + FF00088CBD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008CBD00D6F7FF00A5F7FF00A5F7 + FF00A5F7FF00A5F7FF00A5F7FF00A5F7FF00A5F7FF00A5F7FF00A5F7FF00A5F7 + FF00008CBD00000000000000000000000000008CBD00E7FFFF00A5FFFF00A5FF + FF00A5FFFF00A5FFFF00A5FFFF00A5FFFF00A5FFFF00A5FFFF00A5FFFF00A5FF + FF00088CBD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000008CBD00D6F7FF00A5F7 + FF00A5F7FF00A5F7FF00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD000000000000000000000000000000000000000000008CBD00E7FFFF00A5FF + FF00A5FFFF00A5FFFF00008CBD00008CBD00008CBD00008CBD00008CBD00008C + BD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000008CBD00008C + BD00008CBD00008CBD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000008CBD00008C + BD00008CBD00008CBD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205E2C7B205ED47F2C7B2C7B2C7B - 2C7B2C7B2C7B2C7B2C7BA76ED57F205E0000205E84662B77907F2C7B2C7B2C7B - 2C7B2C7B2C7B2C7B2C7BA76E4262000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205E4D7B205ED57F4D7F4D7F4D7F - 4D7F4D7F4D7F4D7F4D7FA76EB77B205E0000205EE972A66AB27F4D7F4D7F4D7F - 4D7F4D7F4D7F4D7F4D7FC76ED97F205E00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205E4E7F205ED57F6F7F6F7F6F7F - 6F7F6F7F6F7F6F7F6F7FC86EB77B205E0000205E4E7F205EF57F6F7F6F7F6F7F - 6F7F6F7F6F7F6F7F6F7FC86ED97F205E00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205E6F7F205ED67F907F907F907F - 907F907F907F907F907FC86ED87B205E0000205E6F7F4262B27FB27F907F907F - 907F907F907F907F907FE972D97F426200000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205E907F205ED77FB17FB17FB17F - B17FB17FB17FB17FB17FE972D77F205E0000205E907FC86E0B77F57FB17FB17F - B17FB17FB17FB17FB17FE972D97FD97F205E0000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205EB17F205EDA7FD97FD97FD97F - D97FD97FD97FD97FD97F776FDA7F205E0000205E917F6F7F8466FC7FD97FD97F - D97FD97FD97FD97FD97FB27FFC7FD97F205E0000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205ED27F205E205E205E205E205E - 205E205E205E205E205E205E205E205E0000205ED27FD27F4262205E205E205E - 205E205E205E205E205E205E205E205E205E0000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205ED37FD37FD37FD37FD37FD37F - D37FD37FD37FD37FD37F205E000000000000205ED37FD37FD37FD37FD37FD37F - D37FD37FD37FD37FD37F215E0000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000205EDA7FD47FD47FD47FD47FD47F - D47FD47FD47FD47FD47F205E000000000000205EFC7FF47FF47FF47FF47FF47F - F47FF47FF47FF47FF47F215E0000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000205EDA7FD47FD47FD47F205E - 205E205E205E205E205E00000000000000000000205EFC7FF47FF47FF47F205E - 205E205E205E205E205E00000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000205E205E205E205E0000 - 00000000000000000000000000000000000000000000205E205E205E205E0000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/installer/UnitfrmMain.pas b/installer/UnitfrmMain.pas index 783af1e..50b7de4 100644 --- a/installer/UnitfrmMain.pas +++ b/installer/UnitfrmMain.pas @@ -130,7 +130,7 @@ type var frmMain: TfrmMain; -const VERSION = '1.1'; +const VERSION = '1.2'; implementation diff --git a/installer/del.bat b/installer/del.bat index 0e5f412..74a143b 100644 --- a/installer/del.bat +++ b/installer/del.bat @@ -9,5 +9,7 @@ del .\*.map del .\*.drc del .\*.~xfm del .\*.log +del .\*.dof upx MMS_Installer.exe -upx Attach.exe \ No newline at end of file +upx Attach.exe +upx hl2launch.exe \ No newline at end of file