mirror of
https://github.com/scummvm/scummvm.git
synced 2024-05-29 01:07:44 -04:00
IMAGE: Remove palette start from image decoder.
The palette start value was always zero, adding complexity without benefit.
This commit is contained in:
parent
79c406003c
commit
ee5ebec7ca
|
@ -191,8 +191,7 @@ bool CryOmni3DEngine::displayHLZ(const Common::Path &filepath, uint32 timeout) {
|
|||
}
|
||||
|
||||
if (imageDecoder->hasPalette()) {
|
||||
const byte *palette = imageDecoder->getPalette();
|
||||
setPalette(palette, imageDecoder->getPaletteStartIndex(), imageDecoder->getPaletteColorCount());
|
||||
setPalette(imageDecoder->getPalette(), 0, imageDecoder->getPaletteColorCount());
|
||||
}
|
||||
|
||||
const Graphics::Surface *frame = imageDecoder->getSurface();
|
||||
|
|
|
@ -107,7 +107,7 @@ void ZonFixedImage::load(const Common::Path &image, const char *zone) {
|
|||
}
|
||||
|
||||
void ZonFixedImage::display() const {
|
||||
_engine.setupPalette(_imageDecoder->getPalette(), _imageDecoder->getPaletteStartIndex(),
|
||||
_engine.setupPalette(_imageDecoder->getPalette(), 0,
|
||||
_imageDecoder->getPaletteColorCount());
|
||||
|
||||
g_system->copyRectToScreen(_imageSurface->getPixels(), _imageSurface->pitch, 0, 0,
|
||||
|
|
|
@ -326,7 +326,7 @@ Common::String Versailles_Documentation::docAreaHandleSummary() {
|
|||
// No box for 6
|
||||
boxes.setupBox(7, 0, 480 - _sprites->getCursor(225).getHeight(), 640, 480);
|
||||
|
||||
_engine->setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
_engine->setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
|
||||
_engine->setCursor(181);
|
||||
|
@ -445,7 +445,7 @@ Common::String Versailles_Documentation::docAreaHandleTimeline() {
|
|||
_fontManager->setCharSpacing(1);
|
||||
_fontManager->setSurface(&docSurface);
|
||||
|
||||
_engine->setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
_engine->setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
|
||||
_fontManager->displayStr(78, 10, (*_messages)[73]);
|
||||
|
@ -957,7 +957,7 @@ Common::String Versailles_Documentation::docAreaHandleGeneralMap() {
|
|||
|
||||
_fontManager->setSurface(&mapSurface);
|
||||
|
||||
_engine->setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
_engine->setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
|
||||
_engine->setCursor(181);
|
||||
|
@ -1179,7 +1179,7 @@ Common::String Versailles_Documentation::docAreaHandleCastleMap() {
|
|||
|
||||
_fontManager->setSurface(&mapSurface);
|
||||
|
||||
_engine->setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
_engine->setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
|
||||
_engine->setCursor(181);
|
||||
|
@ -1473,7 +1473,7 @@ void Versailles_Documentation::drawRecordData(Graphics::ManagedSurface &surface,
|
|||
Image::ImageDecoder *imageDecoder = _engine->loadHLZ(backgroundPath);
|
||||
const Graphics::Surface *bgFrame = imageDecoder->getSurface();
|
||||
|
||||
_engine->setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
_engine->setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
|
||||
surface.create(bgFrame->w, bgFrame->h, bgFrame->format);
|
||||
|
|
|
@ -643,9 +643,8 @@ void CryOmni3DEngine_Versailles::loadCursorsPalette() {
|
|||
error("Failed to load BMP file");
|
||||
}
|
||||
|
||||
_cursorPalette = new byte[3 * (bmpDecoder.getPaletteColorCount() +
|
||||
bmpDecoder.getPaletteStartIndex())]();
|
||||
memcpy(_cursorPalette + 3 * bmpDecoder.getPaletteStartIndex(), bmpDecoder.getPalette(),
|
||||
_cursorPalette = new byte[3 * bmpDecoder.getPaletteColorCount()]();
|
||||
memcpy(_cursorPalette, bmpDecoder.getPalette(),
|
||||
3 * bmpDecoder.getPaletteColorCount());
|
||||
}
|
||||
|
||||
|
@ -1209,7 +1208,7 @@ void CryOmni3DEngine_Versailles::doPlaceChange() {
|
|||
_currentPlace->setupWarpConstraints(_omni3dMan);
|
||||
_omni3dMan.setSourceSurface(_currentWarpImage->getSurface());
|
||||
|
||||
setupPalette(_currentWarpImage->getPalette(), _currentWarpImage->getPaletteStartIndex(),
|
||||
setupPalette(_currentWarpImage->getPalette(), 0,
|
||||
_currentWarpImage->getPaletteColorCount(), !_fadedPalette);
|
||||
|
||||
setMousePos(Common::Point(320, 240)); // Center of screen
|
||||
|
@ -1648,7 +1647,7 @@ void CryOmni3DEngine_Versailles::animateWarpTransition(const Transition *transit
|
|||
}
|
||||
|
||||
void CryOmni3DEngine_Versailles::redrawWarp() {
|
||||
setupPalette(_currentWarpImage->getPalette(), _currentWarpImage->getPaletteStartIndex(),
|
||||
setupPalette(_currentWarpImage->getPalette(), 0,
|
||||
_currentWarpImage->getPaletteColorCount(), true);
|
||||
if (_forceRedrawWarp) {
|
||||
const Graphics::Surface *result = _omni3dMan.getSurface();
|
||||
|
@ -1721,7 +1720,7 @@ void CryOmni3DEngine_Versailles::displayObject(const Common::String &imgName,
|
|||
|
||||
if (imageDecoder->hasPalette()) {
|
||||
// We don't need to calculate transparency but it's simpler to call this function
|
||||
setupPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
setupPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
}
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ uint CryOmni3DEngine_Versailles::displayOptions() {
|
|||
|
||||
while (!shouldAbort() && !end) {
|
||||
if (resetScreen) {
|
||||
setPalette(imageDecoder->getPalette(), imageDecoder->getPaletteStartIndex(),
|
||||
setPalette(imageDecoder->getPalette(), 0,
|
||||
imageDecoder->getPaletteColorCount());
|
||||
// _cursorPalette has only 248 colors as 8 last colors are for translucency
|
||||
setPalette(_cursorPalette + 240 * 3, 240, 8);
|
||||
|
@ -1011,7 +1011,7 @@ void CryOmni3DEngine_Versailles::displayCredits() {
|
|||
byte palette[256 * 3];
|
||||
memset(palette, 0, 256 * 3);
|
||||
// getPalette returns the first color not index 0
|
||||
memcpy(palette + 3 * imageDecoder->getPaletteStartIndex(), imageDecoder->getPalette(),
|
||||
memcpy(palette, imageDecoder->getPalette(),
|
||||
3 * imageDecoder->getPaletteColorCount());
|
||||
copySubPalette(palette, _cursorPalette, 240, 8);
|
||||
|
||||
|
|
|
@ -1043,7 +1043,7 @@ Graphics::ManagedSurface *FreescapeEngine::loadAndConvertNeoImage(Common::Seekab
|
|||
Graphics::ManagedSurface *surface = new Graphics::ManagedSurface();
|
||||
surface->copyFrom(*decoder.getSurface());
|
||||
surface->convertToInPlace(_gfx->_currentPixelFormat, decoder.getPalette(),
|
||||
decoder.getPaletteStartIndex(), decoder.getPaletteColorCount());
|
||||
0, decoder.getPaletteColorCount());
|
||||
return surface;
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ void Debugger::saveRawPicture(const RawDecoder &rd, Common::WriteStream &ws) {
|
|||
const Graphics::Surface *surface = rd.getSurface();
|
||||
const byte *palette = rd.getPalette();
|
||||
int paletteCount = rd.getPaletteColorCount();
|
||||
int palStart = rd.getPaletteStartIndex();
|
||||
int palStart = 0;
|
||||
bool hasTransColor = rd.hasTransparentColor();
|
||||
uint32 transColor = rd.getTransparentColor();
|
||||
|
||||
|
|
|
@ -455,7 +455,7 @@ bool PrintModifierImageSupplier::loadImageSlot(uint slot, const Graphics::Surfac
|
|||
outHasPalette = _decoder->hasPalette();
|
||||
|
||||
if (_decoder->hasPalette())
|
||||
outPalette.set(_decoder->getPalette(), _decoder->getPaletteStartIndex(), _decoder->getPaletteColorCount());
|
||||
outPalette.set(_decoder->getPalette(), 0, _decoder->getPaletteColorCount());
|
||||
|
||||
outMetadata = GUI::ImageAlbumImageMetadata();
|
||||
outMetadata._orientation = GUI::kImageAlbumImageOrientationLandscape;
|
||||
|
|
|
@ -77,7 +77,7 @@ bool ResourceManager::loadImage(const Common::Path &name, Graphics::ManagedSurfa
|
|||
Image::BitmapDecoder bmpDec;
|
||||
bmpDec.loadStream(*stream);
|
||||
surf.copyFrom(*bmpDec.getSurface());
|
||||
surf.setPalette(bmpDec.getPalette(), bmpDec.getPaletteStartIndex(), MIN<uint>(256, bmpDec.getPaletteColorCount())); // LOGO.BMP reports 257 colors
|
||||
surf.setPalette(bmpDec.getPalette(), 0, MIN<uint>(256, bmpDec.getPaletteColorCount())); // LOGO.BMP reports 257 colors
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -246,7 +246,7 @@ bool ImageAlbumImageSupplier::loadImageSlot(uint slot, const Graphics::Surface *
|
|||
outSurface = fi._decoder->getSurface();
|
||||
outHasPalette = fi._decoder->hasPalette();
|
||||
if (fi._decoder->hasPalette())
|
||||
outPalette.set(fi._decoder->getPalette(), fi._decoder->getPaletteStartIndex(), fi._decoder->getPaletteColorCount());
|
||||
outPalette.set(fi._decoder->getPalette(), 0, fi._decoder->getPaletteColorCount());
|
||||
outMetadata = GUI::ImageAlbumImageMetadata();
|
||||
|
||||
return true;
|
||||
|
|
|
@ -144,7 +144,7 @@ static bool loadImageDelayViaDecoder(TwinEEngine *engine, const Common::Path &fi
|
|||
source->free();
|
||||
delete source;
|
||||
} else {
|
||||
engine->setPalette(decoder.getPaletteStartIndex(), decoder.getPaletteColorCount(), decoder.getPalette());
|
||||
engine->setPalette(0, decoder.getPaletteColorCount(), decoder.getPalette());
|
||||
target.transBlitFrom(*src, rect, target.getBounds(), 0, false, 0, 0xff, nullptr, true);
|
||||
}
|
||||
if (engine->delaySkip(1000 * seconds)) {
|
||||
|
|
|
@ -61,7 +61,7 @@ CruCreditsGump::CruCreditsGump(Common::SeekableReadStream *txtrs,
|
|||
// This does an extra copy via the ManagedSurface, but it's a once-off.
|
||||
const Graphics::Surface *bmpsurf = decoder.getSurface();
|
||||
Graphics::ManagedSurface ms(bmpsurf);
|
||||
ms.setPalette(decoder.getPalette(), decoder.getPaletteStartIndex(), decoder.getPaletteColorCount());
|
||||
ms.setPalette(decoder.getPalette(), 0, decoder.getPaletteColorCount());
|
||||
Common::Rect srcRect(640, 480);
|
||||
_background->Blit(ms, srcRect, 0, 0);
|
||||
} else {
|
||||
|
|
|
@ -52,7 +52,7 @@ CruDemoGump::CruDemoGump(Common::SeekableReadStream *bmprs, uint32 flags, int32
|
|||
// This does an extra copy via the ManagedSurface, but it's a once-off.
|
||||
const Graphics::Surface *bmpsurf = decoder.getSurface();
|
||||
Graphics::ManagedSurface ms(bmpsurf);
|
||||
ms.setPalette(decoder.getPalette(), decoder.getPaletteStartIndex(), decoder.getPaletteColorCount());
|
||||
ms.setPalette(decoder.getPalette(), 0, decoder.getPaletteColorCount());
|
||||
Common::Rect srcRect(640, 480);
|
||||
_background->Blit(ms, srcRect, 0, 0);
|
||||
} else {
|
||||
|
|
|
@ -228,14 +228,14 @@ void MacWindowBorder::loadBorder(Common::SeekableReadStream &file, uint32 flags,
|
|||
|
||||
Graphics::ManagedSurface *surface = new Graphics::ManagedSurface();
|
||||
surface->copyFrom(*bmpDecoder.getSurface());
|
||||
surface->setPalette(bmpDecoder.getPalette(), bmpDecoder.getPaletteStartIndex(),
|
||||
surface->setPalette(bmpDecoder.getPalette(), 0,
|
||||
bmpDecoder.getPaletteColorCount());
|
||||
|
||||
if (surface->format.isCLUT8()) {
|
||||
const byte *palette = bmpDecoder.getPalette();
|
||||
for (int i = 0; i < bmpDecoder.getPaletteColorCount(); i++) {
|
||||
if (palette[0] == 255 && palette[1] == 0 && palette[2] == 255) {
|
||||
surface->setTransparentColor(bmpDecoder.getPaletteStartIndex() + i);
|
||||
surface->setTransparentColor(i);
|
||||
break;
|
||||
}
|
||||
palette += 3;
|
||||
|
|
|
@ -106,8 +106,6 @@ public:
|
|||
*/
|
||||
virtual bool hasPalette() const { return getPaletteColorCount() != 0; }
|
||||
|
||||
/** Return the starting index of the palette. */
|
||||
virtual byte getPaletteStartIndex() const { return 0; }
|
||||
/** Return the number of colors in the palette. */
|
||||
virtual uint16 getPaletteColorCount() const { return 0; }
|
||||
|
||||
|
|
Loading…
Reference in a new issue