MOHAWK: Prefer getBasePtr over direct Surface::pixels access.
This commit is contained in:
parent
8f73027d82
commit
6eb9c8da9e
4 changed files with 12 additions and 12 deletions
|
@ -580,7 +580,7 @@ void MohawkBitmap::drawRaw(Graphics::Surface *surface) {
|
|||
|
||||
_data->skip(_header.bytesPerRow - _header.width * 3);
|
||||
} else {
|
||||
_data->read((byte *)surface->pixels + y * _header.width, _header.width);
|
||||
_data->read((byte *)surface->getBasePtr(0, y), _header.width);
|
||||
_data->skip(_header.bytesPerRow - _header.width);
|
||||
}
|
||||
}
|
||||
|
@ -599,7 +599,7 @@ void MohawkBitmap::drawRLE8(Graphics::Surface *surface, bool isLE) {
|
|||
for (uint16 i = 0; i < _header.height; i++) {
|
||||
uint16 rowByteCount = isLE ? _data->readUint16LE() : _data->readUint16BE();
|
||||
int32 startPos = _data->pos();
|
||||
byte *dst = (byte *)surface->pixels + i * _header.width;
|
||||
byte *dst = (byte *)surface->getBasePtr(0, i);
|
||||
int16 remaining = _header.width;
|
||||
|
||||
while (remaining > 0) {
|
||||
|
@ -779,7 +779,7 @@ MohawkSurface *DOSBitmap::decodeImage(Common::SeekableReadStream *stream) {
|
|||
}
|
||||
|
||||
Graphics::Surface *surface = createSurface(_header.width, _header.height);
|
||||
memset(surface->pixels, 0, _header.width * _header.height);
|
||||
memset(surface->getBasePtr(0, 0), 0, _header.width * _header.height);
|
||||
|
||||
// Expand the <8bpp data to one byte per pixel
|
||||
switch (getBitsPerPixel()) {
|
||||
|
@ -801,7 +801,7 @@ MohawkSurface *DOSBitmap::decodeImage(Common::SeekableReadStream *stream) {
|
|||
void DOSBitmap::expandMonochromePlane(Graphics::Surface *surface, Common::SeekableReadStream *rawStream) {
|
||||
assert(surface->format.bytesPerPixel == 1);
|
||||
|
||||
byte *dst = (byte *)surface->pixels;
|
||||
byte *dst = (byte *)surface->getBasePtr(0, 0);
|
||||
|
||||
// Expand the 8 pixels in a byte into a full byte per pixel
|
||||
|
||||
|
@ -830,7 +830,7 @@ void DOSBitmap::expandEGAPlanes(Graphics::Surface *surface, Common::SeekableRead
|
|||
// Note that the image is in EGA planar form and not just standard 4bpp
|
||||
// This seems to contradict the PoP specs which seem to do something else
|
||||
|
||||
byte *dst = (byte *)surface->pixels;
|
||||
byte *dst = (byte *)surface->getBasePtr(0, 0);
|
||||
|
||||
for (uint32 i = 0; i < surface->h; i++) {
|
||||
uint x = 0;
|
||||
|
|
|
@ -121,11 +121,11 @@ void MystCursorManager::setCursor(uint16 id) {
|
|||
|
||||
// Myst ME stores some cursors as 24bpp images instead of 8bpp
|
||||
if (surface->format.bytesPerPixel == 1) {
|
||||
CursorMan.replaceCursor(surface->pixels, surface->w, surface->h, hotspotX, hotspotY, 0);
|
||||
CursorMan.replaceCursor(surface->getBasePtr(0, 0), surface->w, surface->h, hotspotX, hotspotY, 0);
|
||||
CursorMan.replaceCursorPalette(mhkSurface->getPalette(), 0, 256);
|
||||
} else {
|
||||
Graphics::PixelFormat pixelFormat = g_system->getScreenFormat();
|
||||
CursorMan.replaceCursor(surface->pixels, surface->w, surface->h, hotspotX, hotspotY, pixelFormat.RGBToColor(255, 255, 255), false, &pixelFormat);
|
||||
CursorMan.replaceCursor(surface->getBasePtr(0, 0), surface->w, surface->h, hotspotX, hotspotY, pixelFormat.RGBToColor(255, 255, 255), false, &pixelFormat);
|
||||
}
|
||||
|
||||
_vm->_needsUpdate = true;
|
||||
|
|
|
@ -255,7 +255,7 @@ void RivenGraphics::runScheduledTransition() {
|
|||
}
|
||||
|
||||
// For now, just copy the image to screen without doing any transition.
|
||||
_vm->_system->copyRectToScreen(_mainScreen->pixels, _mainScreen->pitch, 0, 0, _mainScreen->w, _mainScreen->h);
|
||||
_vm->_system->copyRectToScreen(_mainScreen->getBasePtr(0, 0), _mainScreen->pitch, 0, 0, _mainScreen->w, _mainScreen->h);
|
||||
_vm->_system->updateScreen();
|
||||
|
||||
_scheduledTransition = -1; // Clear scheduled transition
|
||||
|
@ -345,7 +345,7 @@ void RivenGraphics::drawInventoryImage(uint16 id, const Common::Rect *rect) {
|
|||
mhkSurface->convertToTrueColor();
|
||||
Graphics::Surface *surface = mhkSurface->getSurface();
|
||||
|
||||
_vm->_system->copyRectToScreen(surface->pixels, surface->pitch, rect->left, rect->top, surface->w, surface->h);
|
||||
_vm->_system->copyRectToScreen(surface->getBasePtr(0, 0), surface->pitch, rect->left, rect->top, surface->w, surface->h);
|
||||
|
||||
delete mhkSurface;
|
||||
}
|
||||
|
@ -420,7 +420,7 @@ void RivenGraphics::updateCredits() {
|
|||
} else {
|
||||
// Otheriwse, we're scrolling
|
||||
// Move the screen up one row
|
||||
memmove(_mainScreen->pixels, _mainScreen->getBasePtr(0, 1), _mainScreen->pitch * (_mainScreen->h - 1));
|
||||
memmove(_mainScreen->getBasePtr(0, 0), _mainScreen->getBasePtr(0, 1), _mainScreen->pitch * (_mainScreen->h - 1));
|
||||
|
||||
// Only update as long as we're not before the last frame
|
||||
// Otherwise, we're just moving up a row (which we already did)
|
||||
|
@ -437,7 +437,7 @@ void RivenGraphics::updateCredits() {
|
|||
}
|
||||
|
||||
// Now flush the new screen
|
||||
_vm->_system->copyRectToScreen(_mainScreen->pixels, _mainScreen->pitch, 0, 0, _mainScreen->w, _mainScreen->h);
|
||||
_vm->_system->copyRectToScreen(_mainScreen->getBasePtr(0, 0), _mainScreen->pitch, 0, 0, _mainScreen->w, _mainScreen->h);
|
||||
_vm->_system->updateScreen();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -245,7 +245,7 @@ bool VideoManager::updateMovies() {
|
|||
// Clip the width/height to make sure we stay on the screen (Myst does this a few times)
|
||||
uint16 width = MIN<int32>(_videoStreams[i]->getWidth(), _vm->_system->getWidth() - _videoStreams[i].x);
|
||||
uint16 height = MIN<int32>(_videoStreams[i]->getHeight(), _vm->_system->getHeight() - _videoStreams[i].y);
|
||||
_vm->_system->copyRectToScreen(frame->pixels, frame->pitch, _videoStreams[i].x, _videoStreams[i].y, width, height);
|
||||
_vm->_system->copyRectToScreen(frame->getBasePtr(0, 0), frame->pitch, _videoStreams[i].x, _videoStreams[i].y, width, height);
|
||||
|
||||
// We've drawn something to the screen, make sure we update it
|
||||
updateScreen = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue