mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-02-26 19:54:14 +01:00
fixed new install method for FTP
--HG-- branch : sourcemm-1.4.3 extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/sourcemm-1.4.3%40607
This commit is contained in:
parent
2023db4a44
commit
0918d18d09
Binary file not shown.
@ -406,8 +406,7 @@ label CreateAgain;
|
|||||||
label UploadAgain;
|
label UploadAgain;
|
||||||
|
|
||||||
var eStr: TStringList;
|
var eStr: TStringList;
|
||||||
i: integer;
|
CopyConfig: Boolean;
|
||||||
CopyConfig, eFound: Boolean;
|
|
||||||
begin
|
begin
|
||||||
frmMain.cmdCancel.Show;
|
frmMain.cmdCancel.Show;
|
||||||
frmMain.cmdNext.Hide;
|
frmMain.cmdNext.Hide;
|
||||||
@ -418,6 +417,7 @@ begin
|
|||||||
frmMain.ggeItem.MaxValue := 3;
|
frmMain.ggeItem.MaxValue := 3;
|
||||||
frmMain.ggeItem.Progress := 0;
|
frmMain.ggeItem.Progress := 0;
|
||||||
|
|
||||||
|
StartTime := Now;
|
||||||
{ Unpack }
|
{ Unpack }
|
||||||
AddStatus('Unpacking files...', clBlack);
|
AddStatus('Unpacking files...', clBlack);
|
||||||
if not Unpack(Source) then begin
|
if not Unpack(Source) then begin
|
||||||
@ -434,7 +434,7 @@ begin
|
|||||||
frmMain.ggeItem.Progress := 0;
|
frmMain.ggeItem.Progress := 0;
|
||||||
|
|
||||||
AddStatus('Creating directories...', clBlack);
|
AddStatus('Creating directories...', clBlack);
|
||||||
if not eFound then begin
|
try
|
||||||
FTPMakeDir('addons');
|
FTPMakeDir('addons');
|
||||||
frmMain.IdFTP.ChangeDir('addons');
|
frmMain.IdFTP.ChangeDir('addons');
|
||||||
frmMain.ggeItem.Progress := 1;
|
frmMain.ggeItem.Progress := 1;
|
||||||
@ -444,12 +444,11 @@ begin
|
|||||||
FTPMakeDir('bin');
|
FTPMakeDir('bin');
|
||||||
frmMain.ggeItem.Progress := 3;
|
frmMain.ggeItem.Progress := 3;
|
||||||
AddDone;
|
AddDone;
|
||||||
end
|
except
|
||||||
else
|
|
||||||
AddSkipped;
|
AddSkipped;
|
||||||
|
end;
|
||||||
{ Create/Edit VDF Plugin }
|
{ Create/Edit VDF Plugin }
|
||||||
CopyConfig := True;
|
CopyConfig := True;
|
||||||
eFound := False;
|
|
||||||
|
|
||||||
frmMain.ggeAll.Progress := 3;
|
frmMain.ggeAll.Progress := 3;
|
||||||
frmMain.ggeItem.Progress := 0;
|
frmMain.ggeItem.Progress := 0;
|
||||||
@ -457,7 +456,7 @@ begin
|
|||||||
AddStatus('Creating VDF Plugin...', clBlack);
|
AddStatus('Creating VDF Plugin...', clBlack);
|
||||||
eStr := TStringList.Create;
|
eStr := TStringList.Create;
|
||||||
try
|
try
|
||||||
frmMain.IdFTP.ChangeDir('addons');
|
frmMain.IdFTP.ChangeDirUp;
|
||||||
frmMain.ggeItem.Progress := 1;
|
frmMain.ggeItem.Progress := 1;
|
||||||
DownloadFile('metamod.vdf', ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
DownloadFile('metamod.vdf', ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
||||||
eStr.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
eStr.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
||||||
@ -465,7 +464,6 @@ begin
|
|||||||
if (((Pos('server.dll', eStr.Text) <> 0) and (OS = osWindows)) or ((Pos('server_i486.so', eStr.Text) <> 0) and (OS = osLinux))) then begin
|
if (((Pos('server.dll', eStr.Text) <> 0) and (OS = osWindows)) or ((Pos('server_i486.so', eStr.Text) <> 0) and (OS = osLinux))) then begin
|
||||||
AddSkipped;
|
AddSkipped;
|
||||||
|
|
||||||
eFound := True;
|
|
||||||
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
|
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;
|
mrNo: CopyConfig := False;
|
||||||
mrCancel: begin
|
mrCancel: begin
|
||||||
@ -489,7 +487,6 @@ begin
|
|||||||
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
||||||
UploadFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf', 'metamod.vdf');
|
UploadFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf', 'metamod.vdf');
|
||||||
frmMain.ggeItem.Progress := 3;
|
frmMain.ggeItem.Progress := 3;
|
||||||
AddDone;
|
|
||||||
end;
|
end;
|
||||||
{ Upload metaplugins.ini }
|
{ Upload metaplugins.ini }
|
||||||
frmMain.ggeAll.Progress := 4;
|
frmMain.ggeAll.Progress := 4;
|
||||||
@ -500,7 +497,6 @@ begin
|
|||||||
eStr.Clear;
|
eStr.Clear;
|
||||||
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini');
|
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini');
|
||||||
UploadFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini', 'metaplugins.ini');
|
UploadFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini', 'metaplugins.ini');
|
||||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini'));
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
AddSkipped;
|
AddSkipped;
|
||||||
@ -509,6 +505,7 @@ begin
|
|||||||
{ Upload server.dll / server_i486.so }
|
{ Upload server.dll / server_i486.so }
|
||||||
frmMain.tmrSpeed.Enabled := True;
|
frmMain.tmrSpeed.Enabled := True;
|
||||||
frmMain.ggeItem.Progress := 0;
|
frmMain.ggeItem.Progress := 0;
|
||||||
|
frmMain.IdFTP.ChangeDir('metamod');
|
||||||
frmMain.IdFTP.ChangeDir('bin');
|
frmMain.IdFTP.ChangeDir('bin');
|
||||||
if OS = osWindows then begin
|
if OS = osWindows then begin
|
||||||
AddStatus('Uploading server.dll...', clBlack);
|
AddStatus('Uploading server.dll...', clBlack);
|
||||||
@ -524,6 +521,8 @@ begin
|
|||||||
AddStatus('Removing temporary files...', clBlack);
|
AddStatus('Removing temporary files...', clBlack);
|
||||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server.dll'));
|
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server.dll'));
|
||||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server_i486.so'));
|
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server_i486.so'));
|
||||||
|
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metamod.vdf'));
|
||||||
|
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini'));
|
||||||
AddDone;
|
AddDone;
|
||||||
{ End }
|
{ End }
|
||||||
frmMain.IdFTP.Disconnect;
|
frmMain.IdFTP.Disconnect;
|
||||||
|
@ -473,9 +473,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmMain.cmdConnectClick(Sender: TObject);
|
procedure TfrmMain.cmdConnectClick(Sender: TObject);
|
||||||
var i: integer;
|
var i, k: integer;
|
||||||
eStr: TStringList;
|
eStr: TStringList;
|
||||||
CurNode: TTreeNode;
|
CurNode, CurNode2: TTreeNode;
|
||||||
Path: String;
|
Path: String;
|
||||||
begin
|
begin
|
||||||
if (Trim(txtHost.Text) = '') or (Trim(txtUsername.Text) = '') then
|
if (Trim(txtHost.Text) = '') or (Trim(txtUsername.Text) = '') then
|
||||||
@ -506,7 +506,7 @@ begin
|
|||||||
eStr := TStringList.Create;
|
eStr := TStringList.Create;
|
||||||
eStr.Text := StringReplace(Path, '/', #13, [rfReplaceAll]);
|
eStr.Text := StringReplace(Path, '/', #13, [rfReplaceAll]);
|
||||||
for i := eStr.Count -1 downto 0 do begin
|
for i := eStr.Count -1 downto 0 do begin
|
||||||
if eStr[i] = '' then
|
if (eStr[i] = '') then
|
||||||
eStr.Delete(i);
|
eStr.Delete(i);
|
||||||
end;
|
end;
|
||||||
if (Copy(Path, Length(Path) -1, 1) <> '/') then
|
if (Copy(Path, Length(Path) -1, 1) <> '/') then
|
||||||
@ -515,47 +515,39 @@ begin
|
|||||||
trvDirectories.Enabled := True;
|
trvDirectories.Enabled := True;
|
||||||
cmdConnect.Enabled := True;
|
cmdConnect.Enabled := True;
|
||||||
cmdConnect.Caption := 'Disconnect';
|
cmdConnect.Caption := 'Disconnect';
|
||||||
// ... change to / and create all the directories ...
|
|
||||||
CurNode := nil;
|
|
||||||
if (Path <> '/') then begin
|
|
||||||
try
|
|
||||||
IdFTP.ChangeDir('/');
|
|
||||||
with GetAllDirs do begin
|
|
||||||
for i := 0 to Count -1 do begin
|
|
||||||
if (Assigned(CurNode)) then
|
|
||||||
trvDirectories.Items.AddChild(trvDirectories.Items.Add(nil, Strings[i]), 'Scanning...')
|
|
||||||
else begin
|
|
||||||
CurNode := trvDirectories.Items.Add(nil, Strings[i]);
|
|
||||||
trvDirectories.Items.AddChild(CurNode, 'Scanning...');
|
|
||||||
if (Pos('/' + CurNode.Text + '/', Path) = 0) then
|
|
||||||
CurNode := nil;
|
|
||||||
end
|
|
||||||
end;
|
|
||||||
Free;
|
|
||||||
end;
|
|
||||||
IdFTP.ChangeDir(Path);
|
|
||||||
except
|
|
||||||
if (IdFTP.Connected) then
|
|
||||||
IdFTP.ChangeDir(Path)
|
|
||||||
else
|
|
||||||
IdFTP.Connect;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
// ... find directories in start path ...
|
// ... find directories in start path ...
|
||||||
if eStr.Count <> 0 then begin
|
CurNode := nil;
|
||||||
for i := 0 to eStr.Count -1 do begin
|
CurNode2 := nil;
|
||||||
if (not ((i = 0) and (Assigned(CurNode)))) then
|
if (eStr.Count <> 0) then begin
|
||||||
CurNode := trvDirectories.Items.AddChild(CurNode, eStr[i]);
|
IdFTP.ChangeDir('/');
|
||||||
|
for i := 0 to eStr.Count do begin
|
||||||
|
try
|
||||||
|
with GetAllDirs do begin
|
||||||
|
for k := 0 to Count -1 do begin
|
||||||
|
if (i = eStr.Count) or (Strings[k] <> eStr[i]) then
|
||||||
|
trvDirectories.Items.AddChild(trvDirectories.Items.AddChild(CurNode, Strings[k]), 'Scanning...')
|
||||||
|
else
|
||||||
|
CurNode2 := trvDirectories.Items.AddChild(CurNode, Strings[k]);
|
||||||
|
end;
|
||||||
|
Free;
|
||||||
|
|
||||||
|
CurNode := CurNode2;
|
||||||
|
trvDirectories.Selected := CurNode;
|
||||||
|
Repaint;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if (i <> eStr.Count) then
|
||||||
|
IdFTP.ChangeDir(eStr[i]);
|
||||||
|
except
|
||||||
|
IdFTP.CheckForDisconnect(False);
|
||||||
|
if (not IdFTP.Connected) then
|
||||||
|
IdFTP.Disconnect;
|
||||||
|
CurNode := trvDirectories.Items.AddChild(CurNode, eStr.Strings[i])
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
trvDirectories.Selected := CurNode;
|
|
||||||
eStr.Free;
|
eStr.Free;
|
||||||
// ... scan for directories ...
|
|
||||||
with GetAllDirs do begin
|
|
||||||
for i := 0 to Count -1 do
|
|
||||||
trvDirectories.Items.AddChild(trvDirectories.Items.AddChild(CurNode, Strings[i]), 'Scanning...');
|
|
||||||
Free;
|
|
||||||
end;
|
|
||||||
|
|
||||||
if Assigned(CurNode) then
|
if Assigned(CurNode) then
|
||||||
CurNode.Expand(False);
|
CurNode.Expand(False);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user