Update branch to main
This commit is contained in:
parent
2f24c704ba
commit
a94bb60ca9
@ -314,12 +314,26 @@ RawFile ZoneFile_COD5::pParseAsset_RawFile(QDataStream *aZoneFileStream) {
|
||||
*aZoneFileStream >> scriptPathChar;
|
||||
}
|
||||
result.path.replace(",", "");
|
||||
|
||||
const QStringList pathParts = result.path.split('/');
|
||||
if (pathParts.size() == 0) {
|
||||
qDebug() << "Failed to parse ff path! " << result.path;
|
||||
exit(-1);
|
||||
}
|
||||
if (result.path.contains(".bik")) {
|
||||
qDebug() << "rawFileLength: " << result.length;
|
||||
QByteArray bikData(result.length, Qt::Uninitialized);
|
||||
aZoneFileStream->readRawData(bikData.data(), result.length);
|
||||
|
||||
//QFile bikFile(QDir::currentPath() + "/" + rawFilePath.split('/').last());
|
||||
//qDebug() << bikFile.fileName();
|
||||
//if (!bikFile.open(QIODevice::WriteOnly)) {
|
||||
// qWarning() << "Failed to open .bik file for writing!";
|
||||
// return;
|
||||
//}
|
||||
//qDebug() << QString("%1: %2").arg(rawFilePath).arg(bikFile.fileName());
|
||||
//bikFile.write(bikData);
|
||||
} else {
|
||||
// Parse gsc contents
|
||||
char rawFileContentsChar;
|
||||
*aZoneFileStream >> rawFileContentsChar;
|
||||
@ -327,6 +341,7 @@ RawFile ZoneFile_COD5::pParseAsset_RawFile(QDataStream *aZoneFileStream) {
|
||||
result.contents += rawFileContentsChar;
|
||||
*aZoneFileStream >> rawFileContentsChar;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -396,8 +411,64 @@ Model ZoneFile_COD5::pParseAsset_Model(QDataStream *aZoneFileStream) {
|
||||
}
|
||||
|
||||
Material ZoneFile_COD5::pParseAsset_Material(QDataStream *aZoneFileStream) {
|
||||
Q_UNUSED(aZoneFileStream);
|
||||
aZoneFileStream->skipRawData(27 * 4);
|
||||
|
||||
qint32 materialNamePtr;
|
||||
*aZoneFileStream >> materialNamePtr;
|
||||
qDebug() << "materialNamePtr: " << materialNamePtr;
|
||||
if (materialNamePtr == -1) {
|
||||
QString materialName;
|
||||
char materialNameChar;
|
||||
*aZoneFileStream >> materialNameChar;
|
||||
while (materialNameChar != 0) {
|
||||
materialName += materialNameChar;
|
||||
*aZoneFileStream >> materialNameChar;
|
||||
}
|
||||
qDebug() << "Parsing Material: " << materialName;
|
||||
}
|
||||
|
||||
aZoneFileStream->skipRawData(3 * 4);
|
||||
|
||||
qint32 compressionPtr, compression, unknownSectionPtr;
|
||||
*aZoneFileStream >> compressionPtr;
|
||||
qDebug() << "compressionPtr: " << compressionPtr;
|
||||
if (compressionPtr == -1) {
|
||||
*aZoneFileStream >> compression;
|
||||
qDebug() << QString("Found material with DXT%1 compression!").arg(compression);
|
||||
|
||||
*aZoneFileStream >> unknownSectionPtr;
|
||||
qDebug() << "unknownSectionPtr: " << unknownSectionPtr;
|
||||
if (unknownSectionPtr == -2) {
|
||||
aZoneFileStream->skipRawData(6 * 4);
|
||||
}
|
||||
}
|
||||
|
||||
qint32 imageNamePtr;
|
||||
*aZoneFileStream >> imageNamePtr;
|
||||
qDebug() << "imageNamePtr: " << imageNamePtr;
|
||||
if (imageNamePtr == -1) {
|
||||
QString imageName;
|
||||
char imageNameChar;
|
||||
*aZoneFileStream >> imageNameChar;
|
||||
while (imageNameChar != 0) {
|
||||
imageName += imageNameChar;
|
||||
*aZoneFileStream >> imageNameChar;
|
||||
}
|
||||
qDebug() << "- Embeded image: " << imageName;
|
||||
}
|
||||
|
||||
QByteArray compressionData(4, Qt::Uninitialized);
|
||||
QString compressionStr;
|
||||
if (compressionPtr == -1) {
|
||||
aZoneFileStream->skipRawData(2 * 4);
|
||||
aZoneFileStream->readRawData(compressionData.data(), 4);
|
||||
aZoneFileStream->skipRawData(4);
|
||||
compressionStr = QString::fromUtf8(compressionData);
|
||||
aZoneFileStream->skipRawData(4);
|
||||
}
|
||||
aZoneFileStream->skipRawData(4);
|
||||
|
||||
// TODO: Fill out this material
|
||||
return Material();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user