Update XGfxImage parsing logic
This commit is contained in:
parent
51a0d00b93
commit
e416d47df4
@ -28,44 +28,47 @@ XGfxImage::~XGfxImage()
|
||||
|
||||
void XGfxImage::ParseData(QDataStream *aStream)
|
||||
{
|
||||
*aStream >> mMapType;
|
||||
|
||||
mTexture.ParseData(aStream);
|
||||
|
||||
*aStream >> mSemantic;
|
||||
|
||||
aStream->skipRawData(3);
|
||||
|
||||
mCardMemory.ParseData(aStream);
|
||||
|
||||
qint32 pixelsPtr;
|
||||
*aStream
|
||||
>> mWidth
|
||||
>> mHeight
|
||||
>> mDepth
|
||||
>> mCategory
|
||||
>> mDelayLoadPixels
|
||||
>> pixelsPtr
|
||||
>> mBaseSize
|
||||
>> mStreamSlot
|
||||
>> mStreaming;
|
||||
|
||||
aStream->skipRawData(1);
|
||||
|
||||
mName.ParsePtr(aStream);
|
||||
|
||||
int variableSkip = 5;
|
||||
if (mDelayLoadPixels)
|
||||
if (GetPtr() == -1)
|
||||
{
|
||||
variableSkip = 2;
|
||||
*aStream >> mMapType;
|
||||
|
||||
mTexture.ParseData(aStream);
|
||||
|
||||
*aStream >> mSemantic;
|
||||
|
||||
aStream->skipRawData(3);
|
||||
|
||||
mCardMemory.ParseData(aStream);
|
||||
|
||||
qint32 pixelsPtr;
|
||||
*aStream
|
||||
>> mWidth
|
||||
>> mHeight
|
||||
>> mDepth
|
||||
>> mCategory
|
||||
>> mDelayLoadPixels
|
||||
>> pixelsPtr
|
||||
>> mBaseSize
|
||||
>> mStreamSlot
|
||||
>> mStreaming;
|
||||
|
||||
aStream->skipRawData(1);
|
||||
|
||||
mName.ParsePtr(aStream);
|
||||
|
||||
int variableSkip = 5;
|
||||
if (mDelayLoadPixels)
|
||||
{
|
||||
variableSkip = 2;
|
||||
}
|
||||
aStream->skipRawData(variableSkip);
|
||||
if (pixelsPtr)
|
||||
{
|
||||
aStream->readRawData(mPixels.data(), mCardMemory.GetPlatform());
|
||||
}
|
||||
// TODO: This is wrong
|
||||
mTexture.ParseData(aStream);
|
||||
}
|
||||
aStream->skipRawData(variableSkip);
|
||||
if (pixelsPtr)
|
||||
{
|
||||
aStream->readRawData(mPixels.data(), mCardMemory.GetPlatform());
|
||||
}
|
||||
// TODO: This is wrong
|
||||
mTexture.ParseData(aStream);
|
||||
}
|
||||
|
||||
void XGfxImage::Clear()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user