51 lines
1.2 KiB
C++
Executable File
51 lines
1.2 KiB
C++
Executable File
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
// Copyright (C) GarageGames.com, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "dgl/gBitmap.h"
|
|
#include "dgl/gPalette.h"
|
|
#include "core/stream.h"
|
|
#include "platform/platform.h"
|
|
|
|
|
|
bool GBitmap::readBmp8(Stream& stream)
|
|
{
|
|
stream.read(&byteSize);
|
|
stream.read(&width);
|
|
stream.read(&height);
|
|
stream.read(&bytesPerPixel);
|
|
stream.read(&numMipLevels);
|
|
U32 i;
|
|
for (i = 0; i < numMipLevels; i++)
|
|
stream.read(&mipLevelOffsets[i]);
|
|
internalFormat = GBitmap::Palettized;
|
|
|
|
pPalette = new GPalette;
|
|
pPalette->read(stream);
|
|
|
|
pBits = new U8[byteSize];
|
|
stream.read(byteSize, pBits);
|
|
|
|
return true;
|
|
}
|
|
|
|
bool GBitmap::writeBmp8(Stream& stream)
|
|
{
|
|
AssertFatal(pPalette != NULL, "Error, must have a palette to write the bmp!");
|
|
|
|
stream.write(byteSize);
|
|
stream.write(width);
|
|
stream.write(height);
|
|
stream.write(bytesPerPixel);
|
|
stream.write(numMipLevels);
|
|
U32 i;
|
|
for (i = 0; i < numMipLevels; i++)
|
|
stream.write(mipLevelOffsets[i]);
|
|
|
|
pPalette->write(stream);
|
|
stream.write(byteSize, pBits);
|
|
|
|
return true;
|
|
}
|