mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
Fix
This commit is contained in:
parent
25672cdc47
commit
fe86869f37
2 changed files with 43 additions and 24 deletions
|
@ -567,23 +567,41 @@ namespace fmt
|
|||
}
|
||||
};
|
||||
|
||||
template<size_t size>
|
||||
struct get_fmt<const char[size], false>
|
||||
{
|
||||
static std::string text(const char* fmt, size_t len, const char(&arg)[size])
|
||||
{
|
||||
if (fmt[len - 1] == 's')
|
||||
{
|
||||
return std::string(arg, size);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw "Invalid formatting (const char[size])";
|
||||
}
|
||||
//template<size_t size>
|
||||
//struct get_fmt<char[size], false>
|
||||
//{
|
||||
// static std::string text(const char* fmt, size_t len, const char(&arg)[size])
|
||||
// {
|
||||
// if (fmt[len - 1] == 's')
|
||||
// {
|
||||
// return std::string(arg, size);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// throw "Invalid formatting (char[size])";
|
||||
// }
|
||||
|
||||
return{};
|
||||
}
|
||||
};
|
||||
// return{};
|
||||
// }
|
||||
//};
|
||||
|
||||
//template<size_t size>
|
||||
//struct get_fmt<const char[size], false>
|
||||
//{
|
||||
// static std::string text(const char* fmt, size_t len, const char(&arg)[size])
|
||||
// {
|
||||
// if (fmt[len - 1] == 's')
|
||||
// {
|
||||
// return std::string(arg, size);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// throw "Invalid formatting (const char[size])";
|
||||
// }
|
||||
|
||||
// return{};
|
||||
// }
|
||||
//};
|
||||
|
||||
template<>
|
||||
struct get_fmt<std::string>
|
||||
|
@ -633,8 +651,9 @@ namespace fmt
|
|||
float (%x, %f)
|
||||
double (%x, %f)
|
||||
bool (%x, %d, %s)
|
||||
char*, const char*, const char[N], std::string (%s)
|
||||
char*, const char*, std::string (%s)
|
||||
be_t<> of any appropriate type in this list
|
||||
enum of any appropriate type in this list
|
||||
|
||||
Supported formatting:
|
||||
%d - decimal; only basic std::to_string() functionality
|
||||
|
|
|
@ -164,12 +164,12 @@ bool UnpackEntry(rFile& dec_pkg_f, const PKGEntry& entry, std::string dir)
|
|||
dec_pkg_f.Read(buf, entry.name_size);
|
||||
buf[entry.name_size] = 0;
|
||||
|
||||
switch (entry.type.ToBE() >> 24)
|
||||
switch (entry.type.data())
|
||||
{
|
||||
case PKG_FILE_ENTRY_NPDRM:
|
||||
case PKG_FILE_ENTRY_NPDRMEDAT:
|
||||
case PKG_FILE_ENTRY_SDAT:
|
||||
case PKG_FILE_ENTRY_REGULAR:
|
||||
case se32(PKG_FILE_ENTRY_NPDRM):
|
||||
case se32(PKG_FILE_ENTRY_NPDRMEDAT):
|
||||
case se32(PKG_FILE_ENTRY_SDAT):
|
||||
case se32(PKG_FILE_ENTRY_REGULAR):
|
||||
{
|
||||
rFile out;
|
||||
auto path = dir + std::string(buf, entry.name_size);
|
||||
|
@ -199,7 +199,7 @@ bool UnpackEntry(rFile& dec_pkg_f, const PKGEntry& entry, std::string dir)
|
|||
}
|
||||
}
|
||||
|
||||
case PKG_FILE_ENTRY_FOLDER:
|
||||
case se32(PKG_FILE_ENTRY_FOLDER):
|
||||
{
|
||||
auto path = dir + std::string(buf, entry.name_size);
|
||||
if (!rExists(path) && !rMkdir(path))
|
||||
|
@ -213,7 +213,7 @@ bool UnpackEntry(rFile& dec_pkg_f, const PKGEntry& entry, std::string dir)
|
|||
|
||||
default:
|
||||
{
|
||||
LOG_ERROR(LOADER, "PKG Loader: unknown PKG file entry: 0x%x", entry.type.ToLE());
|
||||
LOG_ERROR(LOADER, "PKG Loader: unknown PKG file entry: 0x%x", entry.type);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue