Update branch to main

This commit is contained in:
= 2025-04-23 18:07:57 -04:00
parent 2f24c704ba
commit a94bb60ca9

View File

@ -314,18 +314,33 @@ RawFile ZoneFile_COD5::pParseAsset_RawFile(QDataStream *aZoneFileStream) {
*aZoneFileStream >> scriptPathChar; *aZoneFileStream >> scriptPathChar;
} }
result.path.replace(",", ""); result.path.replace(",", "");
const QStringList pathParts = result.path.split('/'); const QStringList pathParts = result.path.split('/');
if (pathParts.size() == 0) { if (pathParts.size() == 0) {
qDebug() << "Failed to parse ff path! " << result.path; qDebug() << "Failed to parse ff path! " << result.path;
exit(-1); exit(-1);
} }
if (result.path.contains(".bik")) {
qDebug() << "rawFileLength: " << result.length;
QByteArray bikData(result.length, Qt::Uninitialized);
aZoneFileStream->readRawData(bikData.data(), result.length);
// Parse gsc contents //QFile bikFile(QDir::currentPath() + "/" + rawFilePath.split('/').last());
char rawFileContentsChar; //qDebug() << bikFile.fileName();
*aZoneFileStream >> rawFileContentsChar; //if (!bikFile.open(QIODevice::WriteOnly)) {
while (rawFileContentsChar != 0 && rawFileContentsChar != -1) { // qWarning() << "Failed to open .bik file for writing!";
result.contents += rawFileContentsChar; // return;
//}
//qDebug() << QString("%1: %2").arg(rawFilePath).arg(bikFile.fileName());
//bikFile.write(bikData);
} else {
// Parse gsc contents
char rawFileContentsChar;
*aZoneFileStream >> rawFileContentsChar; *aZoneFileStream >> rawFileContentsChar;
while (rawFileContentsChar != 0 && rawFileContentsChar != -1) {
result.contents += rawFileContentsChar;
*aZoneFileStream >> rawFileContentsChar;
}
} }
return result; return result;
} }
@ -340,10 +355,10 @@ Model ZoneFile_COD5::pParseAsset_Model(QDataStream *aZoneFileStream) {
qDebug() << "Model Info:"; qDebug() << "Model Info:";
*aZoneFileStream >> result.namePtr >> result.tagCount >> result.rootTagCount *aZoneFileStream >> result.namePtr >> result.tagCount >> result.rootTagCount
>> result.surfCount >> result.unknownCount >> result.boneNamePtr >> result.surfCount >> result.unknownCount >> result.boneNamePtr
>> result.parentListPtr >> result.quatsPtr >> result.transPtr >> result.parentListPtr >> result.quatsPtr >> result.transPtr
>> result.partClassPtr >> result.baseMatPtr >> result.partClassPtr >> result.baseMatPtr
>> result.surfsPtr >> result.materialHandlesPtr; >> result.surfsPtr >> result.materialHandlesPtr;
// Parse XModelLodInfo // Parse XModelLodInfo
for (int i = 1; i <= 4; i++) { for (int i = 1; i <= 4; i++) {
@ -358,16 +373,16 @@ Model ZoneFile_COD5::pParseAsset_Model(QDataStream *aZoneFileStream) {
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
*aZoneFileStream >> result.lodInfo[i].partBits[0] *aZoneFileStream >> result.lodInfo[i].partBits[0]
>> result.lodInfo[i].partBits[1] >> result.lodInfo[i].partBits[1]
>> result.lodInfo[i].partBits[2] >> result.lodInfo[i].partBits[2]
>> result.lodInfo[i].partBits[3]; >> result.lodInfo[i].partBits[3];
} }
*aZoneFileStream >> result.collSurfsPtr >> result.numCollSurfs >> result.contents >> result.boneInfoPtr; *aZoneFileStream >> result.collSurfsPtr >> result.numCollSurfs >> result.contents >> result.boneInfoPtr;
quint32 intRadius, intMins[3], intMaxs[3]; quint32 intRadius, intMins[3], intMaxs[3];
*aZoneFileStream >> intRadius >> intMins[0] >> intMins[1] *aZoneFileStream >> intRadius >> intMins[0] >> intMins[1]
>> intMins[2] >> intMaxs[0] >> intMaxs[1] >> intMaxs[2]; >> intMins[2] >> intMaxs[0] >> intMaxs[1] >> intMaxs[2];
std::memcpy(&result.radius, &intRadius, sizeof(result.radius)); std::memcpy(&result.radius, &intRadius, sizeof(result.radius));
@ -380,7 +395,7 @@ Model ZoneFile_COD5::pParseAsset_Model(QDataStream *aZoneFileStream) {
std::memcpy(&result.maxs[2], &intMaxs[2], sizeof(result.maxs[3])); std::memcpy(&result.maxs[2], &intMaxs[2], sizeof(result.maxs[3]));
*aZoneFileStream >> result.numLods >> result.collLod >> result.streamInfoPtr *aZoneFileStream >> result.numLods >> result.collLod >> result.streamInfoPtr
>> result.memUsage >> result.flags >> result.physPresetPtr >> result.physGeomsPtr; >> result.memUsage >> result.flags >> result.physPresetPtr >> result.physGeomsPtr;
// Parse model name // Parse model name
char modelNameChar; char modelNameChar;
@ -396,8 +411,64 @@ Model ZoneFile_COD5::pParseAsset_Model(QDataStream *aZoneFileStream) {
} }
Material ZoneFile_COD5::pParseAsset_Material(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(); return Material();
} }
@ -472,9 +543,9 @@ Image ZoneFile_COD5::pParseAsset_Image(QDataStream *aZoneFileStream) {
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
*aZoneFileStream >> result.unknowna >> result.unknownb *aZoneFileStream >> result.unknowna >> result.unknownb
>> result.unknownc >> result.unknownd >> result.unknownc >> result.unknownd
>> result.unknowne >> result.unknownf >> result.unknowne >> result.unknownf
>> result.unknowng; >> result.unknowng;
aZoneFileStream->skipRawData(15 * 4); aZoneFileStream->skipRawData(15 * 4);
*aZoneFileStream >> result.unknownh >> result.unknowni; *aZoneFileStream >> result.unknownh >> result.unknowni;
@ -504,8 +575,8 @@ Image ZoneFile_COD5::pParseAsset_Image(QDataStream *aZoneFileStream) {
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
*aZoneFileStream >> result.unknown2 >> result.unknown3 *aZoneFileStream >> result.unknown2 >> result.unknown3
>> result.size1 >> result.size2 >> result.size1 >> result.size2
>> result.unknown4 >> result.unknown5; >> result.unknown4 >> result.unknown5;
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
@ -691,43 +762,43 @@ Animation ZoneFile_COD5::pParseAsset_Animation(QDataStream *aZoneFileStream) {
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
*aZoneFileStream *aZoneFileStream
>> result.dataByteCount >> result.dataByteCount
>> result.dataShortCount >> result.dataShortCount
>> result.dataIntCount >> result.dataIntCount
>> result.randomDataByteCount >> result.randomDataByteCount
>> result.randomDataIntCount >> result.randomDataIntCount
>> result.numframes >> result.numframes
>> result.isLooped >> result.isLooped
>> result.isDelta >> result.isDelta
>> result.noneRotatedBoneCount >> result.noneRotatedBoneCount
>> result.twoDRotatedBoneCount >> result.twoDRotatedBoneCount
>> result.normalRotatedBoneCount >> result.normalRotatedBoneCount
>> result.twoDRotatedBoneCount >> result.twoDRotatedBoneCount
>> result.normalRotatedBoneCount >> result.normalRotatedBoneCount
>> result.normalTranslatedBoneCount >> result.normalTranslatedBoneCount
>> result.preciseTranslatedBoneCount >> result.preciseTranslatedBoneCount
>> result.staticTranslatedBoneCount >> result.staticTranslatedBoneCount
>> result.noneTranslatedBoneCount >> result.noneTranslatedBoneCount
>> result.totalBoneCount >> result.totalBoneCount
>> result.otherBoneCount1 >> result.otherBoneCount1
>> result.otherBoneCount2 >> result.otherBoneCount2
>> result.notifyCount >> result.notifyCount
>> result.assetType >> result.assetType
>> result.pad >> result.pad
>> result.randomDataShortCount >> result.randomDataShortCount
>> result.indexCount >> result.indexCount
>> result.frameRate >> result.frameRate
>> result.frequency >> result.frequency
>> result.boneIDsPtr >> result.boneIDsPtr
>> result.dataBytePtr >> result.dataBytePtr
>> result.dataShortPtr >> result.dataShortPtr
>> result.dataIntPtr >> result.dataIntPtr
>> result.randomDataShortPtr >> result.randomDataShortPtr
>> result.randomDataBytePtr >> result.randomDataBytePtr
>> result.randomDataIntPtr >> result.randomDataIntPtr
>> result.longIndiciesPtr >> result.longIndiciesPtr
>> result.notificationsPtr >> result.notificationsPtr
>> result.deltaPartsPtr; >> result.deltaPartsPtr;
// Read in x_anim file name // Read in x_anim file name
QString xAnimName; QString xAnimName;
@ -798,21 +869,21 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
quint32 hClientAlignInt, vClientAlignInt, styleInt, borderInt; quint32 hClientAlignInt, vClientAlignInt, styleInt, borderInt;
*aZoneFileStream >> hClientAlignInt >> vClientAlignInt >> menu.groupPtr *aZoneFileStream >> hClientAlignInt >> vClientAlignInt >> menu.groupPtr
>> styleInt >> borderInt >> menu.ownerDraw >> menu.ownerDrawFlags >> styleInt >> borderInt >> menu.ownerDraw >> menu.ownerDrawFlags
>> menu.borderSize >> menu.staticFlags >> menu.dynamicFlags >> menu.nextTime; >> menu.borderSize >> menu.staticFlags >> menu.dynamicFlags >> menu.nextTime;
menu.hClientAlign = (MENU_H_ALIGNMENT)hClientAlignInt; menu.hClientAlign = (MENU_H_ALIGNMENT)hClientAlignInt;
menu.vClientAlign = (MENU_V_ALIGNMENT)vClientAlignInt; menu.vClientAlign = (MENU_V_ALIGNMENT)vClientAlignInt;
menu.style = (MENU_WINDOW_STYLE)styleInt; menu.style = (MENU_WINDOW_STYLE)styleInt;
menu.border = (MENU_WINDOW_BORDER)borderInt; menu.border = (MENU_WINDOW_BORDER)borderInt;
float foregroundColorR, foregroundColorG, foregroundColorB, foregroundColorA, float foregroundColorR, foregroundColorG, foregroundColorB, foregroundColorA,
backgroundColorR, backgroundColorG, backgroundColorB, backgroundColorA, backgroundColorR, backgroundColorG, backgroundColorB, backgroundColorA,
borderColorR, borderColorG, borderColorB, borderColorA, borderColorR, borderColorG, borderColorB, borderColorA,
outlineColorR, outlineColorG, outlineColorB, outlineColorA; outlineColorR, outlineColorG, outlineColorB, outlineColorA;
*aZoneFileStream >> foregroundColorR >> foregroundColorG >> foregroundColorB >> foregroundColorA *aZoneFileStream >> foregroundColorR >> foregroundColorG >> foregroundColorB >> foregroundColorA
>> backgroundColorR >> backgroundColorG >> backgroundColorB >> backgroundColorA >> backgroundColorR >> backgroundColorG >> backgroundColorB >> backgroundColorA
>> borderColorR >> borderColorG >> borderColorB >> borderColorA >> borderColorR >> borderColorG >> borderColorB >> borderColorA
>> outlineColorR >> outlineColorG >> outlineColorB >> outlineColorA; >> outlineColorR >> outlineColorG >> outlineColorB >> outlineColorA;
menu.foregroundColor = QColor(foregroundColorR, foregroundColorG, foregroundColorB, foregroundColorA); menu.foregroundColor = QColor(foregroundColorR, foregroundColorG, foregroundColorB, foregroundColorA);
menu.backgroundColor = QColor(backgroundColorR, backgroundColorG, backgroundColorB, backgroundColorA); menu.backgroundColor = QColor(backgroundColorR, backgroundColorG, backgroundColorB, backgroundColorA);
@ -820,16 +891,16 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
menu.outlineColor = QColor(outlineColorR, outlineColorG, outlineColorB, outlineColorA); menu.outlineColor = QColor(outlineColorR, outlineColorG, outlineColorB, outlineColorA);
*aZoneFileStream >> menu.materialPtr >> menu.fontPtr >> menu.fullScreen >> menu.itemCount *aZoneFileStream >> menu.materialPtr >> menu.fontPtr >> menu.fullScreen >> menu.itemCount
>> menu.fontIndex >> menu.cursorItem >> menu.fadeCycle >> menu.fadeClamp >> menu.fontIndex >> menu.cursorItem >> menu.fadeCycle >> menu.fadeClamp
>> menu.fadeAmount >> menu.fadeInAmount >> menu.blurRadius >> menu.onOpenPtr >> menu.fadeAmount >> menu.fadeInAmount >> menu.blurRadius >> menu.onOpenPtr
>> menu.onFocusPtr >> menu.onClosePtr >> menu.onESCPtr >> menu.onKeyPtr >> menu.onFocusPtr >> menu.onClosePtr >> menu.onESCPtr >> menu.onKeyPtr
>> menu.visibleExpCount >> menu.expEntryPtr >> menu.allowedBindingPtr >> menu.visibleExpCount >> menu.expEntryPtr >> menu.allowedBindingPtr
>> menu.soundNamePtr >> menu.imageTrack; >> menu.soundNamePtr >> menu.imageTrack;
float focusColorR, focusColorG, focusColorB, focusColorA, float focusColorR, focusColorG, focusColorB, focusColorA,
disabledColorR, disabledColorG, disabledColorB, disabledColorA; disabledColorR, disabledColorG, disabledColorB, disabledColorA;
*aZoneFileStream >> focusColorR >> focusColorG >> focusColorB >> focusColorA *aZoneFileStream >> focusColorR >> focusColorG >> focusColorB >> focusColorA
>> disabledColorR >> disabledColorG >> disabledColorB >> disabledColorA; >> disabledColorR >> disabledColorG >> disabledColorB >> disabledColorA;
menu.focusColor = QColor(focusColorR, focusColorG, focusColorB, focusColorA); menu.focusColor = QColor(focusColorR, focusColorG, focusColorB, focusColorA);
menu.disabledColor = QColor(disabledColorR, disabledColorG, disabledColorB, disabledColorA); menu.disabledColor = QColor(disabledColorR, disabledColorG, disabledColorB, disabledColorA);
@ -863,18 +934,18 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
menu.itemRect = QRectF(itemRectX, itemRectY, itemRectWidth, itemRectHeight); menu.itemRect = QRectF(itemRectX, itemRectY, itemRectWidth, itemRectHeight);
*aZoneFileStream >> menu.itemHAlignment >> menu.itemVAlignment >> menu.itemGroupPtr *aZoneFileStream >> menu.itemHAlignment >> menu.itemVAlignment >> menu.itemGroupPtr
>> menu.itemWindowStyle >> menu.itemWindowBorder >> menu.itemOwnerDraw >> menu.itemWindowStyle >> menu.itemWindowBorder >> menu.itemOwnerDraw
>> menu.itemOwnerDrawFlags >> menu.itemBorderSize >> menu.itemStaticFlags >> menu.itemOwnerDrawFlags >> menu.itemBorderSize >> menu.itemStaticFlags
>> menu.itemDynamicFlags >> menu.itemNextTime; >> menu.itemDynamicFlags >> menu.itemNextTime;
float itemForegroundColorR, itemForegroundColorG, itemForegroundColorB, itemForegroundColorA, float itemForegroundColorR, itemForegroundColorG, itemForegroundColorB, itemForegroundColorA,
itemBackgroundColorR, itemBackgroundColorG, itemBackgroundColorB, itemBackgroundColorA, itemBackgroundColorR, itemBackgroundColorG, itemBackgroundColorB, itemBackgroundColorA,
itemBorderColorR, itemBorderColorG, itemBorderColorB, itemBorderColorA, itemBorderColorR, itemBorderColorG, itemBorderColorB, itemBorderColorA,
itemOutlineColorR, itemOutlineColorG, itemOutlineColorB, itemOutlineColorA; itemOutlineColorR, itemOutlineColorG, itemOutlineColorB, itemOutlineColorA;
*aZoneFileStream >> itemForegroundColorR >> itemForegroundColorG >> itemForegroundColorB >> itemForegroundColorA *aZoneFileStream >> itemForegroundColorR >> itemForegroundColorG >> itemForegroundColorB >> itemForegroundColorA
>> itemBackgroundColorR >> itemBackgroundColorG >> itemBackgroundColorB >> itemBackgroundColorA >> itemBackgroundColorR >> itemBackgroundColorG >> itemBackgroundColorB >> itemBackgroundColorA
>> itemBorderColorR >> itemBorderColorG >> itemBorderColorB >> itemBorderColorA >> itemBorderColorR >> itemBorderColorG >> itemBorderColorB >> itemBorderColorA
>> itemOutlineColorR >> itemOutlineColorG >> itemOutlineColorB >> itemOutlineColorA; >> itemOutlineColorR >> itemOutlineColorG >> itemOutlineColorB >> itemOutlineColorA;
menu.itemForegroundColor = QColor(itemForegroundColorR, itemForegroundColorG, itemForegroundColorB, itemForegroundColorA); menu.itemForegroundColor = QColor(itemForegroundColorR, itemForegroundColorG, itemForegroundColorB, itemForegroundColorA);
menu.itemBackgroundColor = QColor(itemBackgroundColorR, itemBackgroundColorG, itemBackgroundColorB, itemBackgroundColorA); menu.itemBackgroundColor = QColor(itemBackgroundColorR, itemBackgroundColorG, itemBackgroundColorB, itemBackgroundColorA);
@ -889,9 +960,9 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
quint32 hItemTextAlignInt, vItemTextAlignInt, itemType, fontTypeInt, textStyleInt; quint32 hItemTextAlignInt, vItemTextAlignInt, itemType, fontTypeInt, textStyleInt;
*aZoneFileStream >> hItemTextAlignInt >> vItemTextAlignInt >> itemType >> menu.dataType *aZoneFileStream >> hItemTextAlignInt >> vItemTextAlignInt >> itemType >> menu.dataType
>> menu.alignment >> fontTypeInt >> menu.textAlignMode >> menu.textalignx >> menu.textaligny >> menu.alignment >> fontTypeInt >> menu.textAlignMode >> menu.textalignx >> menu.textaligny
>> menu.textscale >> textStyleInt >> menu.gameMsgWindowIndex >> menu.gameMsgWindowMode >> menu.textscale >> textStyleInt >> menu.gameMsgWindowIndex >> menu.gameMsgWindowMode
>> menu.testPtr >> menu.textSavegameInfo >> menu.parentPtr; >> menu.testPtr >> menu.textSavegameInfo >> menu.parentPtr;
menu.itemText_hAlign = (MENU_H_ALIGNMENT)hItemTextAlignInt; menu.itemText_hAlign = (MENU_H_ALIGNMENT)hItemTextAlignInt;
menu.itemText_vAlign = (MENU_V_ALIGNMENT)vItemTextAlignInt; menu.itemText_vAlign = (MENU_V_ALIGNMENT)vItemTextAlignInt;
menu.itemType = (MENU_ITEM_TYPE)itemType; menu.itemType = (MENU_ITEM_TYPE)itemType;
@ -899,9 +970,9 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
menu.textStyle = (MENU_ITEM_TEXTSTYLE)textStyleInt; menu.textStyle = (MENU_ITEM_TEXTSTYLE)textStyleInt;
*aZoneFileStream >> menu.mouseEnterText >> menu.mouseExitText >> menu.mouseEnter >> menu.mouseExit *aZoneFileStream >> menu.mouseEnterText >> menu.mouseExitText >> menu.mouseEnter >> menu.mouseExit
>> menu.action >> menu.onAccept >> menu.onFocus >> menu.leaveFocus >> menu.dvar >> menu.dvarTest >> menu.action >> menu.onAccept >> menu.onFocus >> menu.leaveFocus >> menu.dvar >> menu.dvarTest
>> menu.keyHandlerPtr >> menu.enableDvarPtr >> menu.dvarFlags >> menu.focusSoundPtr >> menu.keyHandlerPtr >> menu.enableDvarPtr >> menu.dvarFlags >> menu.focusSoundPtr
>> menu.special >> menu.cursorPos; >> menu.special >> menu.cursorPos;
// itemDefData_t typeData; // itemDefData_t typeData;
@ -921,11 +992,11 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
*aZoneFileStream >> menu.notselectable >> menu.noScrollBars >> menu.usePaging; *aZoneFileStream >> menu.notselectable >> menu.noScrollBars >> menu.usePaging;
float itemSelectBorderColorR, itemSelectBorderColorG, itemSelectBorderColorB, itemSelectBorderColorA, float itemSelectBorderColorR, itemSelectBorderColorG, itemSelectBorderColorB, itemSelectBorderColorA,
itemDisableColorR, itemDisableColorG, itemDisableColorB, itemDisableColorA, itemDisableColorR, itemDisableColorG, itemDisableColorB, itemDisableColorA,
itemFocusColorR, itemFocusColorG, itemFocusColorB, itemFocusColorA; itemFocusColorR, itemFocusColorG, itemFocusColorB, itemFocusColorA;
*aZoneFileStream >> itemSelectBorderColorR >> itemSelectBorderColorG >> itemSelectBorderColorB >> itemSelectBorderColorA *aZoneFileStream >> itemSelectBorderColorR >> itemSelectBorderColorG >> itemSelectBorderColorB >> itemSelectBorderColorA
>> itemDisableColorR >> itemDisableColorG >> itemDisableColorB >> itemDisableColorA >> itemDisableColorR >> itemDisableColorG >> itemDisableColorB >> itemDisableColorA
>> itemFocusColorR >> itemFocusColorG >> itemFocusColorB >> itemFocusColorA; >> itemFocusColorR >> itemFocusColorG >> itemFocusColorB >> itemFocusColorA;
menu.itemSelectBorderColor = QColor(itemSelectBorderColorR, itemSelectBorderColorG, itemSelectBorderColorB, itemSelectBorderColorA); menu.itemSelectBorderColor = QColor(itemSelectBorderColorR, itemSelectBorderColorG, itemSelectBorderColorB, itemSelectBorderColorA);
menu.itemDisableColor = QColor(itemDisableColorR, itemDisableColorG, itemDisableColorB, itemDisableColorA); menu.itemDisableColor = QColor(itemDisableColorR, itemDisableColorG, itemDisableColorB, itemDisableColorA);
menu.itemFocusColor = QColor(itemFocusColorR, itemFocusColorG, itemFocusColorB, itemFocusColorA); menu.itemFocusColor = QColor(itemFocusColorR, itemFocusColorG, itemFocusColorB, itemFocusColorA);
@ -935,7 +1006,7 @@ MenuFile ZoneFile_COD5::pParseAsset_MenuFile(QDataStream *aZoneFileStream) {
// editFieldDef_s *editField; // editFieldDef_s *editField;
*aZoneFileStream >> menu.minVal >> menu.maxVal >> menu.defVal >> menu.range >> menu.maxChars *aZoneFileStream >> menu.minVal >> menu.maxVal >> menu.defVal >> menu.range >> menu.maxChars
>> menu.maxCharsGotoNext >> menu.maxPaintChars >> menu.paintOffset; >> menu.maxCharsGotoNext >> menu.maxPaintChars >> menu.paintOffset;
// multiDef_s *multi; // multiDef_s *multi;
@ -993,8 +1064,8 @@ StringTable ZoneFile_COD5::pParseAsset_StringTable(QDataStream *aZoneFileStream)
aZoneFileStream->skipRawData(4); aZoneFileStream->skipRawData(4);
*aZoneFileStream *aZoneFileStream
>> result.columnCount >> result.columnCount
>> result.rowCount; >> result.rowCount;
// Todo fix this // Todo fix this
result.columnCount = 0; result.columnCount = 0;