- use std::vector<std::string> to pass the file list to InitMultipleFiles
This commit is contained in:
parent
a0d679b84b
commit
4906d287cb
17 changed files with 67 additions and 51 deletions
|
|
@ -1003,7 +1003,7 @@ void FExecList::ExecCommands() const
|
|||
}
|
||||
}
|
||||
|
||||
void FExecList::AddPullins(TArray<FString> &wads, FConfigFile *config) const
|
||||
void FExecList::AddPullins(std::vector<std::string>& wads, FConfigFile *config) const
|
||||
{
|
||||
for (unsigned i = 0; i < Pullins.Size(); ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
#ifndef __C_DISPATCH_H__
|
||||
#define __C_DISPATCH_H__
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <stdint.h>
|
||||
#include <functional>
|
||||
#include "c_console.h"
|
||||
|
|
@ -52,7 +54,7 @@ struct FExecList
|
|||
|
||||
void AddCommand(const char *cmd, const char *file = nullptr);
|
||||
void ExecCommands() const;
|
||||
void AddPullins(TArray<FString> &wads, FConfigFile *config) const;
|
||||
void AddPullins(std::vector<std::string> &wads, FConfigFile *config) const;
|
||||
};
|
||||
|
||||
extern bool ParsingKeyConf, UnsafeExecutionContext;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@
|
|||
#include "md5.h"
|
||||
#include "i_specialpaths.h"
|
||||
#include "i_system.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
extern FILE* Logfile;
|
||||
|
||||
|
|
|
|||
|
|
@ -207,12 +207,11 @@ void FileSystem::DeleteAll ()
|
|||
|
||||
bool FileSystem::InitSingleFile(const char* filename, FileSystemMessageFunc Printf)
|
||||
{
|
||||
TArray<FString> filenames;
|
||||
filenames.Push(filename);
|
||||
std::vector<std::string> filenames = { filename };
|
||||
return InitMultipleFiles(filenames, nullptr, Printf);
|
||||
}
|
||||
|
||||
bool FileSystem::InitMultipleFiles (TArray<FString> &filenames, LumpFilterInfo* filter, FileSystemMessageFunc Printf, bool allowduplicates, FILE* hashfile)
|
||||
bool FileSystem::InitMultipleFiles (std::vector<std::string>& filenames, LumpFilterInfo* filter, FileSystemMessageFunc Printf, bool allowduplicates, FILE* hashfile)
|
||||
{
|
||||
int numfiles;
|
||||
|
||||
|
|
@ -223,26 +222,27 @@ bool FileSystem::InitMultipleFiles (TArray<FString> &filenames, LumpFilterInfo*
|
|||
// first, check for duplicates
|
||||
if (allowduplicates)
|
||||
{
|
||||
for (unsigned i=0;i<filenames.Size(); i++)
|
||||
for (size_t i=0;i<filenames.size(); i++)
|
||||
{
|
||||
for (unsigned j=i+1;j<filenames.Size(); j++)
|
||||
for (size_t j=i+1;j<filenames.size(); j++)
|
||||
{
|
||||
if (strcmp(filenames[i], filenames[j]) == 0)
|
||||
if (filenames[i] == filenames[j])
|
||||
{
|
||||
filenames.Delete(j);
|
||||
filenames.erase(filenames.begin() + j);
|
||||
j--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(unsigned i=0;i<filenames.Size(); i++)
|
||||
for(size_t i=0;i<filenames.size(); i++)
|
||||
{
|
||||
AddFile (filenames[i], nullptr, filter, Printf, hashfile);
|
||||
AddFile(filenames[i].c_str(), nullptr, filter, Printf, hashfile);
|
||||
|
||||
if (i == (unsigned)MaxIwadIndex) MoveLumpsInFolder("after_iwad/");
|
||||
FStringf path("filter/%s", Files.Last()->GetHash());
|
||||
MoveLumpsInFolder(path);
|
||||
std::string path = "filter/%s";
|
||||
path += Files.Last()->GetHash();
|
||||
MoveLumpsInFolder(path.c_str());
|
||||
}
|
||||
|
||||
NumEntries = (uint32_t)FileInfo.size();
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public:
|
|||
void SetMaxIwadNum(int x) { MaxIwadIndex = x; }
|
||||
|
||||
bool InitSingleFile(const char *filename, FileSystemMessageFunc Printf = nullptr);
|
||||
bool InitMultipleFiles (TArray<FString> &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, FILE* hashfile = nullptr);
|
||||
void AddFile (const char *filename, FileReader *wadinfo, LumpFilterInfo* filter, FileSystemMessageFunc Printf, FILE* hashfile);
|
||||
int CheckIfResourceFileLoaded (const char *name) noexcept;
|
||||
void AddAdditionalFile(const char* filename, FileReader* wadinfo = NULL) {}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@
|
|||
#include "menu.h"
|
||||
#include "stats.h"
|
||||
#include "printf.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
// MACROS ------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ void MainWindow::SetNetStartProgress(int pos)
|
|||
if (NetStartPane != 0 && NetStartMaxPos > 1)
|
||||
{
|
||||
char buf[16];
|
||||
mysnprintf(buf, countof(buf), "%d/%d", pos, NetStartMaxPos);
|
||||
mysnprintf(buf, sizeof(buf), "%d/%d", pos, NetStartMaxPos);
|
||||
SetDlgItemTextA(NetStartPane, IDC_NETSTARTCOUNT, buf);
|
||||
SendDlgItemMessage(NetStartPane, IDC_NETSTARTPROGRESS, PBM_SETPOS, min(pos, NetStartMaxPos), 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "filesystem.h"
|
||||
#include "engineerrors.h"
|
||||
#include "version.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
bool VkShaderManager::CompileNextShader()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "image.h"
|
||||
#include "textures.h"
|
||||
#include "palettecontainer.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
// Strife startup screen
|
||||
#define PEASANT_INDEX 0
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
#include "texturemanager.h"
|
||||
#include "c_cvars.h"
|
||||
#include "hw_material.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
FTexture *CreateBrightmapTexture(FImageSource*);
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@
|
|||
#include "vectors.h"
|
||||
#include "animtexture.h"
|
||||
#include "formats/multipatchtexture.h"
|
||||
#include "basics.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
FTextureManager TexMan;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
bool D_AddFile(TArray<FString>& wadfiles, const char* file, bool check, int position, FConfigFile* config)
|
||||
bool D_AddFile(std::vector<std::string>& wadfiles, const char* file, bool check, int position, FConfigFile* config)
|
||||
{
|
||||
if (file == nullptr || *file == '\0')
|
||||
{
|
||||
|
|
@ -111,10 +111,10 @@ bool D_AddFile(TArray<FString>& wadfiles, const char* file, bool check, int posi
|
|||
file = f;
|
||||
}
|
||||
|
||||
FString f = file;
|
||||
FixPathSeperator(f);
|
||||
if (position == -1) wadfiles.Push(f);
|
||||
else wadfiles.Insert(position, f);
|
||||
std::string f = file;
|
||||
for (auto& c : f) if (c == '\\') c = '/';
|
||||
if (position == -1) wadfiles.push_back(f);
|
||||
else wadfiles.insert(wadfiles.begin() + position, f);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ bool D_AddFile(TArray<FString>& wadfiles, const char* file, bool check, int posi
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
void D_AddWildFile(TArray<FString>& wadfiles, const char* value, const char *extension, FConfigFile* config)
|
||||
void D_AddWildFile(std::vector<std::string>& wadfiles, const char* value, const char *extension, FConfigFile* config)
|
||||
{
|
||||
if (value == nullptr || *value == '\0')
|
||||
{
|
||||
|
|
@ -161,7 +161,7 @@ void D_AddWildFile(TArray<FString>& wadfiles, const char* value, const char *ext
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
void D_AddConfigFiles(TArray<FString>& wadfiles, const char* section, const char* extension, FConfigFile *config)
|
||||
void D_AddConfigFiles(std::vector<std::string>& wadfiles, const char* section, const char* extension, FConfigFile *config)
|
||||
{
|
||||
if (config && config->SetSection(section))
|
||||
{
|
||||
|
|
@ -191,7 +191,7 @@ void D_AddConfigFiles(TArray<FString>& wadfiles, const char* section, const char
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
void D_AddDirectory(TArray<FString>& wadfiles, const char* dir, const char *filespec, FConfigFile* config)
|
||||
void D_AddDirectory(std::vector<std::string>& wadfiles, const char* dir, const char *filespec, FConfigFile* config)
|
||||
{
|
||||
FileList list;
|
||||
if (ScanDirectory(list, dir, "*.wad", true))
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
// Directory searching routines
|
||||
|
||||
#include <stdint.h>
|
||||
#include "zstring.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class FConfigFile;
|
||||
|
||||
bool D_AddFile(TArray<FString>& wadfiles, const char* file, bool check, int position, FConfigFile* config);
|
||||
void D_AddWildFile(TArray<FString>& wadfiles, const char* value, const char *extension, FConfigFile* config);
|
||||
void D_AddConfigFiles(TArray<FString>& wadfiles, const char* section, const char* extension, FConfigFile* config);
|
||||
void D_AddDirectory(TArray<FString>& wadfiles, const char* dir, const char *filespec, FConfigFile* config);
|
||||
bool D_AddFile(std::vector<std::string>& wadfiles, const char* file, bool check, int position, FConfigFile* config);
|
||||
void D_AddWildFile(std::vector<std::string>& wadfiles, const char* value, const char *extension, FConfigFile* config);
|
||||
void D_AddConfigFiles(std::vector<std::string>& wadfiles, const char* section, const char* extension, FConfigFile* config);
|
||||
void D_AddDirectory(std::vector<std::string>& wadfiles, const char* dir, const char *filespec, FConfigFile* config);
|
||||
const char* BaseFileSearch(const char* file, const char* ext, bool lookfirstinprogdir, FConfigFile* config);
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include "filesystem.h"
|
||||
#include "printf.h"
|
||||
#include "m_swap.h"
|
||||
#include "cmdlib.h"
|
||||
|
||||
#include "m_png.h"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue