mirror of
https://github.com/dpethes/rerogue.git
synced 2025-06-07 18:58:32 +02:00
45 lines
802 B
ObjectPascal
45 lines
802 B
ObjectPascal
program rs_repack;
|
|
|
|
uses
|
|
sysutils, rsdat, rsdat_pack;
|
|
|
|
procedure UnpackData(const basedir: string);
|
|
var
|
|
dat: TRSDatFile;
|
|
begin
|
|
dat := TRSDatFile.Create;
|
|
dat.ReadHeader(basedir + 'DATA.HDR');
|
|
dat.ReadSections(basedir + 'DATA.DAT');
|
|
dat.WriteFilesToDirectory(basedir);
|
|
dat.Free;
|
|
end;
|
|
|
|
procedure PackData(const basedir: string);
|
|
var
|
|
packer: TRSDatPacker;
|
|
begin
|
|
packer := TRSDatPacker.Create;
|
|
packer.PackDirectory(basedir);
|
|
packer.Free;
|
|
end;
|
|
|
|
var
|
|
mode: string;
|
|
basedir: string;
|
|
begin
|
|
if Paramcount < 2 then begin
|
|
writeln ('usage: rs_repack [u|p] directory');
|
|
halt;
|
|
end;
|
|
mode := ParamStr(1);
|
|
basedir := ParamStr(2);
|
|
if mode = 'u' then begin
|
|
UnpackData(basedir);
|
|
end;
|
|
if mode = 'p' then begin
|
|
PackData(basedir);
|
|
end;
|
|
writeln('done.')
|
|
end.
|
|
|