Reinstated static inline Graphics::PixelFormat::createFormatCLUT8(), which I am told was not supposed to be removed with the others.

svn-id: r42268
This commit is contained in:
Jody Northup 2009-07-08 16:07:58 +00:00
parent 3e47aaa151
commit 828ed66555
8 changed files with 35 additions and 46 deletions

View file

@ -361,7 +361,7 @@ void OSystem_SDL::initSize(uint w, uint h, const Graphics::PixelFormat *format)
//avoid redundant format changes
Graphics::PixelFormat newFormat;
if (!format)
newFormat = Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
newFormat = Graphics::PixelFormat::createFormatCLUT8();
else
newFormat = *format;

View file

@ -197,8 +197,8 @@ OSystem_SDL::OSystem_SDL()
#endif
_hwscreen(0), _screen(0), _tmpscreen(0),
#ifdef ENABLE_RGB_COLOR
_screenFormat(Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0)),
_cursorFormat(Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0)),
_screenFormat(Graphics::PixelFormat::createFormatCLUT8()),
_cursorFormat(Graphics::PixelFormat::createFormatCLUT8()),
#endif
_overlayVisible(false),
_overlayscreen(0), _tmpscreen2(0),

View file

@ -94,44 +94,29 @@ public:
if (HWFormat->BitsPerPixel >= 32)
{
list.push_back(Graphics::PixelFormat::createFormatRGBA8888());
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 16, 8, 0, 24)
);
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 0, 8, 16, 24)
);
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 8, 16, 24, 0)
); }
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 16, 8, 0, 24));
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 0, 8, 16, 24));
list.push_back(Graphics::PixelFormat(4, 0, 0, 0, 0, 8, 16, 24, 0));
}
if (HWFormat->BitsPerPixel >= 24)
{
list.push_back(Graphics::PixelFormat(3, 0, 0, 0, 8, 16, 8, 0, 0)
);
list.push_back(Graphics::PixelFormat(3, 0, 0, 0, 8, 0, 8, 16, 0)
);
list.push_back(Graphics::PixelFormat(3, 0, 0, 0, 8, 16, 8, 0, 0));
list.push_back(Graphics::PixelFormat(3, 0, 0, 0, 8, 0, 8, 16, 0));
}
#endif //ENABLE_32BIT
if (HWFormat->BitsPerPixel >= 16)
{
list.push_back(Graphics::PixelFormat(2, 3, 2, 3, 8, 11, 5, 0, 0)
);
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 7, 10, 5, 0, 15)
);
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 8, 10, 5, 0, 0)
);
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 12, 8, 4, 0)
);
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 8, 4, 0, 12)
);
list.push_back(Graphics::PixelFormat(2, 3, 2, 3, 8, 0, 5, 11, 0)
);
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 7, 0, 5, 10, 15)
);
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 8, 0, 5, 10, 0)
);
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 0, 4, 8, 12)
);
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 4, 8, 12, 0)
);
if (HWFormat->BitsPerPixel >= 16) {
list.push_back(Graphics::PixelFormat(2, 3, 2, 3, 8, 11, 5, 0, 0));
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 7, 10, 5, 0, 15));
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 8, 10, 5, 0, 0));
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 12, 8, 4, 0));
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 8, 4, 0, 12));
list.push_back(Graphics::PixelFormat(2, 3, 2, 3, 8, 0, 5, 11, 0));
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 7, 0, 5, 10, 15));
list.push_back(Graphics::PixelFormat(2, 3, 3, 3, 8, 0, 5, 10, 0));
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 0, 4, 8, 12));
list.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 4, 8, 12, 0));
}
list.push_back(Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0));
list.push_back(Graphics::PixelFormat::createFormatCLUT8());
return list;
}
#endif

View file

@ -375,7 +375,7 @@ public:
* 3) Graphics::PixelFormat(4, 0, 0, 0, 0, 24, 16, 8, 0)
* 4) Graphics::PixelFormat(2, 3, 3, 3, 8, 10, 5, 0, 0)
* 5) Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0)
* 5) Graphics::PixelFormat::createFormatCLUT8()
*
* @see Graphics::PixelFormat
*
@ -387,12 +387,12 @@ public:
virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const = 0;
#else
inline Graphics::PixelFormat getScreenFormat() const {
return Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
return Graphics::PixelFormat::createFormatCLUT8();
};
inline Common::List<Graphics::PixelFormat> getSupportedFormats() const {
Common::List<Graphics::PixelFormat> list;
list.push_back(Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0));
list.push_back(Graphics::PixelFormat::createFormatCLUT8());
return list;
};
#endif

View file

@ -78,11 +78,11 @@ Common::Error GroovieEngine::run() {
// Save the enabled mode as it can be both an RGB mode or CLUT8
_pixelFormat = _system->getScreenFormat();
_mode8bit = (_pixelFormat == Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0));
_mode8bit = (_pixelFormat == Graphics::PixelFormat::createFormatCLUT8());
break;
case kGroovieT7G:
initGraphics(640, 480, true);
_pixelFormat = Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
_pixelFormat = Graphics::PixelFormat::createFormatCLUT8();
break;
}

View file

@ -138,7 +138,7 @@ void CursorManager::replaceCursor(const byte *buf, uint w, uint h, int hotspotX,
if (format)
cur->_format = *format;
else
cur->_format = Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
cur->_format = Graphics::PixelFormat::createFormatCLUT8();
#endif
g_system->setMouseCursor(cur->_data, w, h, hotspotX, hotspotY, keycolor, targetScale, format);

View file

@ -181,13 +181,13 @@ private:
Cursor(const byte *data, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor = 0xFFFFFFFF, int targetScale = 1, const Graphics::PixelFormat *format = NULL) {
#ifdef ENABLE_RGB_COLOR
if (!format)
_format = Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
_format = Graphics::PixelFormat::createFormatCLUT8();
else
_format = *format;
_size = w * h * _format.bytesPerPixel;
_keycolor &= ((1 << (_format.bytesPerPixel << 3)) - 1);
#else
_format = Graphics::PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
_format = Graphics::PixelFormat::createFormatCLUT8();
_size = w * h;
_keycolor &= 0xFF;
#endif

View file

@ -65,6 +65,10 @@ struct PixelFormat {
rShift = RShift, gShift = GShift, bShift = BShift, aShift = AShift;
}
static inline PixelFormat createFormatCLUT8() {
return PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
}
inline bool operator==(const PixelFormat &fmt) const {
// TODO: If aLoss==8, then the value of aShift is irrelevant, and should be ignored.
return 0 == memcmp(this, &fmt, sizeof(PixelFormat));
@ -150,7 +154,7 @@ struct PixelFormat {
* @param backend The higher priority list, meant to be a list of formats supported by the backend
* @param frontend The lower priority list, meant to be a list of formats supported by the engine
* @return The first item on the backend list that also occurs on the frontend list
* or PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0) if no matching formats were found.
* or PixelFormat::createFormatCLUT8() if no matching formats were found.
*/
inline PixelFormat findCompatibleFormat(Common::List<PixelFormat> backend, Common::List<PixelFormat> frontend) {
#ifdef ENABLE_RGB_COLOR
@ -161,7 +165,7 @@ inline PixelFormat findCompatibleFormat(Common::List<PixelFormat> backend, Commo
}
}
#endif
return PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
return PixelFormat::createFormatCLUT8();
}
} // end of namespace Graphics