mirror of
https://github.com/tribes2/engine.git
synced 2026-01-20 19:54:46 +00:00
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
//-----------------------------------------------------------------------------
|
|
// V12 Engine
|
|
//
|
|
// Copyright (c) 2001 GarageGames.Com
|
|
// Portions Copyright (c) 2001 by Sierra Online, 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;
|
|
}
|