[nstool] Show pfs and romfs file offsets from the base offsets.

This commit is contained in:
jakcron 2018-05-18 17:08:48 +08:00
parent c1fc536c66
commit 1a5f045e0a
4 changed files with 10 additions and 3 deletions

View file

@ -20,9 +20,9 @@ void PfsProcess::displayFs()
if (mCliOutputType >= OUTPUT_VERBOSE)
{
if (mPfs.getFsType() == mPfs.TYPE_PFS0)
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ")\n", mPfs.getFileList()[i].offset, mPfs.getFileList()[i].size);
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ")\n", mBaseOffset + mPfs.getFileList()[i].offset, mPfs.getFileList()[i].size);
else
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ", hash_protected_size=0x%" PRIx64 ")\n", mPfs.getFileList()[i].offset, mPfs.getFileList()[i].size, mPfs.getFileList()[i].hash_protected_size);
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ", hash_protected_size=0x%" PRIx64 ")\n", mBaseOffset + mPfs.getFileList()[i].offset, mPfs.getFileList()[i].size, mPfs.getFileList()[i].hash_protected_size);
}
else
{
@ -105,6 +105,7 @@ PfsProcess::PfsProcess() :
mReader(nullptr),
mCliOutputType(OUTPUT_NORMAL),
mVerify(false),
mBaseOffset(0),
mExtractPath(),
mExtract(false),
mMountName(),
@ -157,6 +158,7 @@ void PfsProcess::process()
void PfsProcess::setInputFile(fnd::IFile* file, size_t offset, size_t size)
{
mReader = new OffsetAdjustedIFile(file, offset, size);
mBaseOffset = offset;
}
void PfsProcess::setCliOutputMode(CliOutputType type)

View file

@ -34,6 +34,7 @@ private:
CliOutputType mCliOutputType;
bool mVerify;
size_t mBaseOffset;
std::string mExtractPath;
bool mExtract;

View file

@ -18,7 +18,7 @@ void RomfsProcess::displayFile(const sFile& file, size_t tab) const
printf("%s", file.name.c_str());
if (mCliOutputType >= OUTPUT_VERBOSE)
{
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ")", file.offset, file.size);
printf(" (offset=0x%" PRIx64 ", size=0x%" PRIx64 ")", mBaseOffset + file.offset, file.size);
}
putchar('\n');
}
@ -226,6 +226,7 @@ RomfsProcess::RomfsProcess() :
mReader(nullptr),
mCliOutputType(OUTPUT_NORMAL),
mVerify(false),
mBaseOffset(0),
mExtractPath(),
mExtract(false),
mMountName(),
@ -266,6 +267,7 @@ void RomfsProcess::process()
void RomfsProcess::setInputFile(fnd::IFile* file, size_t offset, size_t size)
{
mReader = new OffsetAdjustedIFile(file, offset, size);
mBaseOffset = offset;
}
void RomfsProcess::setCliOutputMode(CliOutputType type)

View file

@ -112,6 +112,8 @@ private:
CliOutputType mCliOutputType;
bool mVerify;
size_t mBaseOffset;
std::string mExtractPath;
bool mExtract;
std::string mMountName;