2
0
mirror of https://github.com/dpethes/rerogue.git synced 2025-06-07 18:58:32 +02:00
rerogue/dat_repack/rs_repack.lpr
2017-02-04 18:10:31 +01:00

54 lines
1.1 KiB
ObjectPascal

program rs_repack;
uses
sysutils, rs_dat, rsdat_pack;
procedure UnpackData(const basedir: string);
var
dat: TRSDatFile;
fhdr, fdat: string;
begin
fhdr := basedir + RS_DATA_HDR;
fdat := basedir + RS_DATA_DAT;
if not FileExists(fhdr) or not FileExists(fdat) then begin
writeln('missing input files ', fhdr, ' or ', fdat);
exit;
end;
dat := TRSDatFile.Create(fhdr, fdat);
dat.Parse();
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');
writeln ('u - unpack hdr&dat in directory');
writeln ('p - pack directories into hdr&dat');
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.