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.