mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-24 13:01:48 +00:00
removed -hashfiles after finding out it had been broken for an extended time period.
this is a strong indicator that nobody was using it - and I do not feel like fixing such an invasive feature with little utility.
This commit is contained in:
parent
e0778e23eb
commit
9b62379645
3 changed files with 7 additions and 80 deletions
|
@ -42,8 +42,8 @@ public:
|
||||||
void SetMaxIwadNum(int x) { MaxIwadIndex = x; }
|
void SetMaxIwadNum(int x) { MaxIwadIndex = x; }
|
||||||
|
|
||||||
bool InitSingleFile(const char *filename, FileSystemMessageFunc Printf = nullptr);
|
bool InitSingleFile(const char *filename, FileSystemMessageFunc Printf = nullptr);
|
||||||
bool InitMultipleFiles (std::vector<std::string>& filenames, LumpFilterInfo* filter = nullptr, FileSystemMessageFunc Printf = nullptr, bool allowduplicates = false, FILE* hashfile = nullptr);
|
bool InitMultipleFiles (std::vector<std::string>& filenames, LumpFilterInfo* filter = nullptr, FileSystemMessageFunc Printf = nullptr, bool allowduplicates = false);
|
||||||
void AddFile (const char *filename, FileReader *wadinfo, LumpFilterInfo* filter, FileSystemMessageFunc Printf, FILE* hashfile);
|
void AddFile (const char *filename, FileReader *wadinfo, LumpFilterInfo* filter, FileSystemMessageFunc Printf);
|
||||||
int CheckIfResourceFileLoaded (const char *name) noexcept;
|
int CheckIfResourceFileLoaded (const char *name) noexcept;
|
||||||
void AddAdditionalFile(const char* filename, FileReader* wadinfo = NULL) {}
|
void AddAdditionalFile(const char* filename, FileReader* wadinfo = NULL) {}
|
||||||
|
|
||||||
|
|
|
@ -238,7 +238,7 @@ bool FileSystem::InitSingleFile(const char* filename, FileSystemMessageFunc Prin
|
||||||
return InitMultipleFiles(filenames, nullptr, Printf);
|
return InitMultipleFiles(filenames, nullptr, Printf);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FileSystem::InitMultipleFiles (std::vector<std::string>& filenames, LumpFilterInfo* filter, FileSystemMessageFunc Printf, bool allowduplicates, FILE* hashfile)
|
bool FileSystem::InitMultipleFiles (std::vector<std::string>& filenames, LumpFilterInfo* filter, FileSystemMessageFunc Printf, bool allowduplicates)
|
||||||
{
|
{
|
||||||
int numfiles;
|
int numfiles;
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ bool FileSystem::InitMultipleFiles (std::vector<std::string>& filenames, LumpFil
|
||||||
|
|
||||||
for(size_t i=0;i<filenames.size(); i++)
|
for(size_t i=0;i<filenames.size(); i++)
|
||||||
{
|
{
|
||||||
AddFile(filenames[i].c_str(), nullptr, filter, Printf, hashfile);
|
AddFile(filenames[i].c_str(), nullptr, filter, Printf);
|
||||||
|
|
||||||
if (i == (unsigned)MaxIwadIndex) MoveLumpsInFolder("after_iwad/");
|
if (i == (unsigned)MaxIwadIndex) MoveLumpsInFolder("after_iwad/");
|
||||||
std::string path = "filter/%s";
|
std::string path = "filter/%s";
|
||||||
|
@ -327,7 +327,7 @@ int FileSystem::AddFromBuffer(const char* name, char* data, int size, int id, in
|
||||||
// [RH] Removed reload hack
|
// [RH] Removed reload hack
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void FileSystem::AddFile (const char *filename, FileReader *filer, LumpFilterInfo* filter, FileSystemMessageFunc Printf, FILE* hashfile)
|
void FileSystem::AddFile (const char *filename, FileReader *filer, LumpFilterInfo* filter, FileSystemMessageFunc Printf)
|
||||||
{
|
{
|
||||||
int startlump;
|
int startlump;
|
||||||
bool isdir = false;
|
bool isdir = false;
|
||||||
|
@ -396,49 +396,10 @@ void FileSystem::AddFile (const char *filename, FileReader *filer, LumpFilterInf
|
||||||
path += ':';
|
path += ':';
|
||||||
path += resfile->getName(i);
|
path += resfile->getName(i);
|
||||||
auto embedded = resfile->GetEntryReader(i, READER_CACHED);
|
auto embedded = resfile->GetEntryReader(i, READER_CACHED);
|
||||||
AddFile(path.c_str(), &embedded, filter, Printf, hashfile);
|
AddFile(path.c_str(), &embedded, filter, Printf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hashfile)
|
|
||||||
{
|
|
||||||
uint8_t cksum[16];
|
|
||||||
char cksumout[33];
|
|
||||||
memset(cksumout, 0, sizeof(cksumout));
|
|
||||||
|
|
||||||
if (filereader.isOpen())
|
|
||||||
{
|
|
||||||
filereader.Seek(0, FileReader::SeekSet);
|
|
||||||
md5Hash(filereader, cksum);
|
|
||||||
|
|
||||||
for (size_t j = 0; j < sizeof(cksum); ++j)
|
|
||||||
{
|
|
||||||
snprintf(cksumout + (j * 2), 3, "%02X", cksum[j]);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(hashfile, "file: %s, hash: %s, size: %td\n", filename, cksumout, filereader.GetLength());
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
fprintf(hashfile, "file: %s, Directory structure\n", filename);
|
|
||||||
|
|
||||||
for (int i = 0; i < resfile->EntryCount(); i++)
|
|
||||||
{
|
|
||||||
int flags = resfile->GetEntryFlags(i);
|
|
||||||
if (!(flags & RESFF_EMBEDDED))
|
|
||||||
{
|
|
||||||
auto reader = resfile->GetEntryReader(i, READER_SHARED, 0);
|
|
||||||
md5Hash(filereader, cksum);
|
|
||||||
|
|
||||||
for (size_t j = 0; j < sizeof(cksum); ++j)
|
|
||||||
{
|
|
||||||
snprintf(cksumout + (j * 2), 3, "%02X", cksum[j]);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(hashfile, "file: %s, lump: %s, hash: %s, size: %zu\n", filename, resfile->getName(i), cksumout, (uint64_t)resfile->Length(i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3028,39 +3028,6 @@ static void System_HudScaleChanged()
|
||||||
|
|
||||||
bool CheckSkipGameOptionBlock(const char* str);
|
bool CheckSkipGameOptionBlock(const char* str);
|
||||||
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
|
|
||||||
static FILE* D_GetHashFile()
|
|
||||||
{
|
|
||||||
FILE *hashfile = nullptr;
|
|
||||||
|
|
||||||
if (Args->CheckParm("-hashfiles"))
|
|
||||||
{
|
|
||||||
const char *filename = "fileinfo.txt";
|
|
||||||
Printf("Hashing loaded content to: %s\n", filename);
|
|
||||||
hashfile = fopen(filename, "w");
|
|
||||||
if (hashfile)
|
|
||||||
{
|
|
||||||
Printf("Notice: File hashing is incredibly verbose. Expect loading files to take much longer than usual.\n");
|
|
||||||
fprintf(hashfile, "%s version %s (%s)\n", GAMENAME, GetVersionString(), GetGitHash());
|
|
||||||
#ifdef __VERSION__
|
|
||||||
fprintf(hashfile, "Compiler version: %s\n", __VERSION__);
|
|
||||||
#endif
|
|
||||||
fprintf(hashfile, "Command line:");
|
|
||||||
for (int i = 0; i < Args->NumArgs(); ++i)
|
|
||||||
{
|
|
||||||
fprintf(hashfile, " %s", Args->GetArg(i));
|
|
||||||
}
|
|
||||||
fprintf(hashfile, "\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hashfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// checks if a file within a directory is allowed to be added to the file system.
|
// checks if a file within a directory is allowed to be added to the file system.
|
||||||
static bool FileNameCheck(const char* base, const char* path)
|
static bool FileNameCheck(const char* base, const char* path)
|
||||||
{
|
{
|
||||||
|
@ -3217,8 +3184,7 @@ static int D_InitGame(const FIWADInfo* iwad_info, std::vector<std::string>& allw
|
||||||
);
|
);
|
||||||
|
|
||||||
bool allowduplicates = Args->CheckParm("-allowduplicates");
|
bool allowduplicates = Args->CheckParm("-allowduplicates");
|
||||||
auto hashfile = D_GetHashFile();
|
if (!fileSystem.InitMultipleFiles(allwads, &lfi, FileSystemPrintf, allowduplicates))
|
||||||
if (!fileSystem.InitMultipleFiles(allwads, &lfi, FileSystemPrintf, allowduplicates, hashfile))
|
|
||||||
{
|
{
|
||||||
I_FatalError("FileSystem: no files found");
|
I_FatalError("FileSystem: no files found");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue