Ian wrote:What's the point of parent/child roms?
Surely each should just stand on their own?
And the current build crashes when loading harley on this line
[](File::ptr_t a, File::ptr_t b) { return a->filename < b->filename; });
I think the error is saying you need to sort the files
It actually brings down the program with an exception or something? Works for me. What is the actual error printed? I suspect this is MSVC non-compliance with the C++11 spec again and that it's having trouble with lambdas. If that's the case, try the following:
Right above IdentifyCompleteGamesInZipArchive(), define this comparator function:
- Code: Select all
bool GameLoader::CompareFilesByName(const File::ptr_t &a, const File::ptr_t &b)
{
return a->filename < b->filename;
}
Add it to GameLoader.hpp as a static, private method:
- Code: Select all
static bool CompareFilesByName(const File::ptr_t &a,const File::ptr_t &b);
And then replace the lambda with it:
- Code: Select all
for (auto &v: files_found_per_game)
{
auto &files_found = v.second;
auto &files_required = files_required_per_game[v.first];
auto &files_missing = files_missing_per_game[v.first];
std::set_difference(
files_required.begin(), files_required.end(),
files_found.begin(), files_found.end(),
std::inserter(files_missing, files_missing.end()),
CompareFilesByName);
//[](File::ptr_t a, File::ptr_t b) { return a->filename < b->filename; });
}
Does that help?