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);
|
_data->skip(_header.bytesPerRow - _header.width * 3);
|
||||||
} else {
|
} 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);
|
_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++) {
|
for (uint16 i = 0; i < _header.height; i++) {
|
||||||
uint16 rowByteCount = isLE ? _data->readUint16LE() : _data->readUint16BE();
|
uint16 rowByteCount = isLE ? _data->readUint16LE() : _data->readUint16BE();
|
||||||
int32 startPos = _data->pos();
|
int32 startPos = _data->pos();
|
||||||
byte *dst = (byte *)surface->pixels + i * _header.width;
|
byte *dst = (byte *)surface->getBasePtr(0, i);
|
||||||
int16 remaining = _header.width;
|
int16 remaining = _header.width;
|
||||||
|
|
||||||
while (remaining > 0) {
|
while (remaining > 0) {
|
||||||
|
@ -779,7 +779,7 @@ MohawkSurface *DOSBitmap::decodeImage(Common::SeekableReadStream *stream) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Graphics::Surface *surface = createSurface(_header.width, _header.height);
|
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
|
// Expand the <8bpp data to one byte per pixel
|
||||||
switch (getBitsPerPixel()) {
|
switch (getBitsPerPixel()) {
|
||||||
|
@ -801,7 +801,7 @@ MohawkSurface *DOSBitmap::decodeImage(Common::SeekableReadStream *stream) {
|
||||||
void DOSBitmap::expandMonochromePlane(Graphics::Surface *surface, Common::SeekableReadStream *rawStream) {
|
void DOSBitmap::expandMonochromePlane(Graphics::Surface *surface, Common::SeekableReadStream *rawStream) {
|
||||||
assert(surface->format.bytesPerPixel == 1);
|
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
|
// 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
|
// 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
|
// 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++) {
|
for (uint32 i = 0; i < surface->h; i++) {
|
||||||
uint x = 0;
|
uint x = 0;
|
||||||
|
|
|
@ -121,11 +121,11 @@ void MystCursorManager::setCursor(uint16 id) {
|
||||||
|
|
||||||
// Myst ME stores some cursors as 24bpp images instead of 8bpp
|
// Myst ME stores some cursors as 24bpp images instead of 8bpp
|
||||||
if (surface->format.bytesPerPixel == 1) {
|
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);
|
CursorMan.replaceCursorPalette(mhkSurface->getPalette(), 0, 256);
|
||||||
} else {
|
} else {
|
||||||
Graphics::PixelFormat pixelFormat = g_system->getScreenFormat();
|
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;
|
_vm->_needsUpdate = true;
|
||||||
|
|
|
@ -255,7 +255,7 @@ void RivenGraphics::runScheduledTransition() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// For now, just copy the image to screen without doing any transition.
|
// 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();
|
_vm->_system->updateScreen();
|
||||||
|
|
||||||
_scheduledTransition = -1; // Clear scheduled transition
|
_scheduledTransition = -1; // Clear scheduled transition
|
||||||
|
@ -345,7 +345,7 @@ void RivenGraphics::drawInventoryImage(uint16 id, const Common::Rect *rect) {
|
||||||
mhkSurface->convertToTrueColor();
|
mhkSurface->convertToTrueColor();
|
||||||
Graphics::Surface *surface = mhkSurface->getSurface();
|
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;
|
delete mhkSurface;
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ void RivenGraphics::updateCredits() {
|
||||||
} else {
|
} else {
|
||||||
// Otheriwse, we're scrolling
|
// Otheriwse, we're scrolling
|
||||||
// Move the screen up one row
|
// 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
|
// Only update as long as we're not before the last frame
|
||||||
// Otherwise, we're just moving up a row (which we already did)
|
// Otherwise, we're just moving up a row (which we already did)
|
||||||
|
@ -437,7 +437,7 @@ void RivenGraphics::updateCredits() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now flush the new screen
|
// 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();
|
_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)
|
// 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 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);
|
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
|
// We've drawn something to the screen, make sure we update it
|
||||||
updateScreen = true;
|
updateScreen = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue