1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-16 16:10:58 +00:00

Merge branch 'starfieldbsa' into 'master'

Support Starfield BA2s

See merge request OpenMW/openmw!3392
This commit is contained in:
psi29a 2023-09-01 08:06:25 +00:00
commit 64bdbe339d
No known key found for this signature in database
2 changed files with 12 additions and 2 deletions

View File

@ -112,11 +112,16 @@ namespace Bsa
if (header[0] == 0x00415342) /*"BSA\x00"*/ if (header[0] == 0x00415342) /*"BSA\x00"*/
fail("Unrecognized compressed BSA format"); fail("Unrecognized compressed BSA format");
mVersion = header[1]; mVersion = header[1];
if (mVersion != 0x01 /*F04*/) if (mVersion != 0x01 /*FO4*/ && mVersion != 0x02 /*Starfield*/)
fail("Unrecognized compressed BSA version"); fail("Unrecognized compressed BSA version");
type = header[2]; type = header[2];
fileCount = header[3]; fileCount = header[3];
if (mVersion == 0x02)
{
uint64_t dummy;
input.read(reinterpret_cast<char*>(&dummy), 8);
}
} }
if (type == ESM::fourCC("DX10")) if (type == ESM::fourCC("DX10"))

View File

@ -107,11 +107,16 @@ namespace Bsa
if (header[0] == 0x00415342) /*"BSA\x00"*/ if (header[0] == 0x00415342) /*"BSA\x00"*/
fail("Unrecognized compressed BSA format"); fail("Unrecognized compressed BSA format");
mVersion = header[1]; mVersion = header[1];
if (mVersion != 0x01 /*FO4*/) if (mVersion != 0x01 /*FO4*/ && mVersion != 0x02 /*Starfield*/)
fail("Unrecognized compressed BSA version"); fail("Unrecognized compressed BSA version");
type = header[2]; type = header[2];
fileCount = header[3]; fileCount = header[3];
if (mVersion == 0x02)
{
uint64_t dummy;
input.read(reinterpret_cast<char*>(&dummy), 8);
}
} }
if (type == ESM::fourCC("GNRL")) if (type == ESM::fourCC("GNRL"))