Update XGfxImage parsing logic
This commit is contained in:
parent
51a0d00b93
commit
e416d47df4
@ -28,44 +28,47 @@ XGfxImage::~XGfxImage()
|
|||||||
|
|
||||||
void XGfxImage::ParseData(QDataStream *aStream)
|
void XGfxImage::ParseData(QDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream >> mMapType;
|
if (GetPtr() == -1)
|
||||||
|
|
||||||
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 >> 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()
|
void XGfxImage::Clear()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user