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;
|
||||
|
||||
var eStr: TStringList;
|
||||
i: integer;
|
||||
CopyConfig, eFound: Boolean;
|
||||
CopyConfig: Boolean;
|
||||
begin
|
||||
frmMain.cmdCancel.Show;
|
||||
frmMain.cmdNext.Hide;
|
||||
@ -418,6 +417,7 @@ begin
|
||||
frmMain.ggeItem.MaxValue := 3;
|
||||
frmMain.ggeItem.Progress := 0;
|
||||
|
||||
StartTime := Now;
|
||||
{ Unpack }
|
||||
AddStatus('Unpacking files...', clBlack);
|
||||
if not Unpack(Source) then begin
|
||||
@ -434,7 +434,7 @@ begin
|
||||
frmMain.ggeItem.Progress := 0;
|
||||
|
||||
AddStatus('Creating directories...', clBlack);
|
||||
if not eFound then begin
|
||||
try
|
||||
FTPMakeDir('addons');
|
||||
frmMain.IdFTP.ChangeDir('addons');
|
||||
frmMain.ggeItem.Progress := 1;
|
||||
@ -444,12 +444,11 @@ begin
|
||||
FTPMakeDir('bin');
|
||||
frmMain.ggeItem.Progress := 3;
|
||||
AddDone;
|
||||
end
|
||||
else
|
||||
except
|
||||
AddSkipped;
|
||||
end;
|
||||
{ Create/Edit VDF Plugin }
|
||||
CopyConfig := True;
|
||||
eFound := False;
|
||||
|
||||
frmMain.ggeAll.Progress := 3;
|
||||
frmMain.ggeItem.Progress := 0;
|
||||
@ -457,7 +456,7 @@ begin
|
||||
AddStatus('Creating VDF Plugin...', clBlack);
|
||||
eStr := TStringList.Create;
|
||||
try
|
||||
frmMain.IdFTP.ChangeDir('addons');
|
||||
frmMain.IdFTP.ChangeDirUp;
|
||||
frmMain.ggeItem.Progress := 1;
|
||||
DownloadFile('metamod.vdf', 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
|
||||
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
|
||||
mrNo: CopyConfig := False;
|
||||
mrCancel: begin
|
||||
@ -489,7 +487,6 @@ begin
|
||||
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf');
|
||||
UploadFile(ExtractFilePath(ParamStr(0)) + 'metamod.vdf', 'metamod.vdf');
|
||||
frmMain.ggeItem.Progress := 3;
|
||||
AddDone;
|
||||
end;
|
||||
{ Upload metaplugins.ini }
|
||||
frmMain.ggeAll.Progress := 4;
|
||||
@ -500,7 +497,6 @@ begin
|
||||
eStr.Clear;
|
||||
eStr.SaveToFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini');
|
||||
UploadFile(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini', 'metaplugins.ini');
|
||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini'));
|
||||
end
|
||||
else
|
||||
AddSkipped;
|
||||
@ -509,6 +505,7 @@ begin
|
||||
{ Upload server.dll / server_i486.so }
|
||||
frmMain.tmrSpeed.Enabled := True;
|
||||
frmMain.ggeItem.Progress := 0;
|
||||
frmMain.IdFTP.ChangeDir('metamod');
|
||||
frmMain.IdFTP.ChangeDir('bin');
|
||||
if OS = osWindows then begin
|
||||
AddStatus('Uploading server.dll...', clBlack);
|
||||
@ -524,6 +521,8 @@ begin
|
||||
AddStatus('Removing temporary files...', clBlack);
|
||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server.dll'));
|
||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'server_i486.so'));
|
||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metamod.vdf'));
|
||||
DeleteFile(PChar(ExtractFilePath(ParamStr(0)) + 'metaplugins.ini'));
|
||||
AddDone;
|
||||
{ End }
|
||||
frmMain.IdFTP.Disconnect;
|
||||
|
@ -473,9 +473,9 @@ begin
|
||||
end;
|
||||
|
||||
procedure TfrmMain.cmdConnectClick(Sender: TObject);
|
||||
var i: integer;
|
||||
var i, k: integer;
|
||||
eStr: TStringList;
|
||||
CurNode: TTreeNode;
|
||||
CurNode, CurNode2: TTreeNode;
|
||||
Path: String;
|
||||
begin
|
||||
if (Trim(txtHost.Text) = '') or (Trim(txtUsername.Text) = '') then
|
||||
@ -506,7 +506,7 @@ begin
|
||||
eStr := TStringList.Create;
|
||||
eStr.Text := StringReplace(Path, '/', #13, [rfReplaceAll]);
|
||||
for i := eStr.Count -1 downto 0 do begin
|
||||
if eStr[i] = '' then
|
||||
if (eStr[i] = '') then
|
||||
eStr.Delete(i);
|
||||
end;
|
||||
if (Copy(Path, Length(Path) -1, 1) <> '/') then
|
||||
@ -515,47 +515,39 @@ begin
|
||||
trvDirectories.Enabled := True;
|
||||
cmdConnect.Enabled := True;
|
||||
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 ...
|
||||
if eStr.Count <> 0 then begin
|
||||
for i := 0 to eStr.Count -1 do begin
|
||||
if (not ((i = 0) and (Assigned(CurNode)))) then
|
||||
CurNode := trvDirectories.Items.AddChild(CurNode, eStr[i]);
|
||||
CurNode := nil;
|
||||
CurNode2 := nil;
|
||||
if (eStr.Count <> 0) then begin
|
||||
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;
|
||||
trvDirectories.Selected := CurNode;
|
||||
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
|
||||
CurNode.Expand(False);
|
||||
|
Loading…
x
Reference in New Issue
Block a user