From 2593c8559fa17e5b6bd7d569ca75a78bd7af4a15 Mon Sep 17 00:00:00 2001 From: dpethes Date: Sat, 7 Mar 2015 19:49:46 +0100 Subject: [PATCH] dat packer: check input files --- dat_repack/rs_repack.lpr | 14 ++++++++++++-- dat_repack/rsdat.pas | 1 - 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dat_repack/rs_repack.lpr b/dat_repack/rs_repack.lpr index c57d3dd..acac725 100644 --- a/dat_repack/rs_repack.lpr +++ b/dat_repack/rs_repack.lpr @@ -6,10 +6,18 @@ uses procedure UnpackData(const basedir: string); var dat: TRSDatFile; + fhdr, fdat: string; begin + fhdr := basedir + 'DATA.HDR'; + fdat := basedir + 'DATA.DAT'; + if not FileExists(fhdr) or not FileExists(fdat) then begin + writeln('missing input files ', fhdr, ' or ', fdat); + exit; + end; + dat := TRSDatFile.Create; - dat.ReadHeader(basedir + 'DATA.HDR'); - dat.ReadSections(basedir + 'DATA.DAT'); + dat.ReadHeader(fhdr); + dat.ReadSections(fdat); dat.WriteFilesToDirectory(basedir); dat.Free; end; @@ -29,6 +37,8 @@ var 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); diff --git a/dat_repack/rsdat.pas b/dat_repack/rsdat.pas index ad415b0..d31ad0a 100644 --- a/dat_repack/rsdat.pas +++ b/dat_repack/rsdat.pas @@ -35,7 +35,6 @@ procedure SaveFile(const name: string; const buffer: pbyte; const buf_size: inte var f: file; fname: string; - dups: integer; begin fname := name; AssignFile(f, fname);