10 SDL2 in '../lib/sdl2/sdl2.pas',
26 ZEntries: TZipFileEntries;
28 if ParamCount() < 1 then
30 WriteLn('usage: wadcvt file.wad');
34 infname := ParamStr(1);
35 if not SFSStrEqu(ExtractFileExt(infname), '.wad') and not SFSStrEqu(ExtractFileExt(infname), '.dfwad') then
41 if ParamCount() > 1 then
43 outfname := ParamStr(2);
47 outfname := ChangeFileExt(infname, '.pk3');
50 if not SFSAddDataFile(infname) then begin WriteLn('shit!'); Halt(1); end;
51 dvfn := SFSGetLastVirtualName(infname);
55 fl := SFSFileList(ParamStr(1));
58 for f := 0 to fl.Count-1 do
60 WriteLn(f:4, ': ', fl[f].fSize:10, ' "', fl[f].fPath, fl[f].fName, '"');
61 Inc(tot, fl[f].fSize);
63 WriteLn('===================================================');
64 WriteLn(fl.Count, ' files; ', Int64ToStrComma(tot), ' bytes.');
69 zip := TZipper.Create;
70 zip.Filename := outfname;
72 fl := SFSFileList(dvfn);
75 ZEntries := TZipFileEntries.Create(TZipFileEntry);
76 for f := 0 to fl.Count-1 do
78 if length(fl[f].fName) = 0 then continue;
79 fs := SFSFileOpen(dvfn+'::'+fl[f].fPath+fl[f].fName);
80 writeln('[', f+1, '/', fl.Count, ']: ', fl[f].fPath+fl[f].fName, ' ', fs.size);
81 ZEntries.AddFileEntry(fs, fl[f].fPath+fl[f].fName);
84 if ZEntries.Count > 0 then
86 writeln('creating ''', outfname, '''');
87 zip.ZipFiles(ZEntries);
90 on E: EZipError do E.CreateFmt('Zipfile could not be created%sReason: %s', [LineEnding, E.Message])
95 writeln('SFSFileList(): faled!');