mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-01-11 00:52:46 +01:00
23459ec6e3
--HG-- extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40501
86 lines
2.8 KiB
ObjectPascal
86 lines
2.8 KiB
ObjectPascal
program Attach;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
uses
|
|
SysUtils, Classes, UnitPackSystem;
|
|
|
|
var eStream: TMemoryStream;
|
|
eFiles: TStringList;
|
|
Version: String;
|
|
begin
|
|
WriteLn('// File attacher for the MM:S installer');
|
|
WriteLn('// by Basic-Master');
|
|
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.source') then
|
|
WriteLn('// Found files\server.dll.source')
|
|
else begin
|
|
WriteLn('// Error: Couldn''t find files\server.dll.source!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so.source') then
|
|
WriteLn('// Found files\server_i486.so.source')
|
|
else begin
|
|
WriteLn('// Error: Couldn''t find files\server_i486.so.source!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server.dll.orangebox') then
|
|
WriteLn('// Found files\server.dll.orangebox')
|
|
else begin
|
|
WriteLn('// Error: Couldn''t find files\server.dll.orangebox!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so.orangebox') then
|
|
WriteLn('// Found files\server_i486.so.orangebox')
|
|
else begin
|
|
WriteLn('// Error: Couldn''t find files\server_i486.so.orangebox!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
if FileExists(ExtractFilePath(ParamStr(0)) + 'MMS_Installer.exe') then
|
|
WriteLn('// Found MMS_Installer.exe')
|
|
else begin
|
|
WriteLn('// Error: Couldn''t find MMS_Installer.exe!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
{ Get version number }
|
|
WriteLn('// Please enter the version number:');
|
|
ReadLn(Version);
|
|
if (Trim(Version) = '') then begin
|
|
WriteLn('// Error: Invalid version number!');
|
|
ReadLn;
|
|
exit;
|
|
end;
|
|
{ Compress files }
|
|
WriteLn('// Compressing files...');
|
|
eFiles := TStringList.Create;
|
|
eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\hl2launch.exe');
|
|
eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server.dll.source');
|
|
eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so.source');
|
|
eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server.dll.orangebox');
|
|
eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so.orangebox');
|
|
eStream := TMemoryStream.Create;
|
|
CompressFiles(eFiles, ExtractFilePath(ParamStr(0)) + 'temp.zip');
|
|
eStream.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp.zip');
|
|
WriteLn('// Attaching output to MMS_Installer.exe...');
|
|
AttachToFile(ExtractFilePath(ParamStr(0)) + 'MMS_Installer.exe', eStream, Version);
|
|
DeleteFile(ExtractFilePath(ParamStr(0)) + 'temp.zip');
|
|
eStream.Free;
|
|
eFiles.Free;
|
|
WriteLn('// Done.');
|
|
ReadLn;
|
|
end.
|