1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2024-11-29 11:24:19 +01:00
HLMetaModOfficial/cruft/installer/Attach.dpr

86 lines
2.8 KiB
ObjectPascal
Raw Normal View History

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.