there used to be a black border at the top/left side with the 1x scaler: fixed!
svn-id: r8065
This commit is contained in:
parent
78ef0ea5b5
commit
6a8bd23d02
1 changed files with 18 additions and 17 deletions
|
@ -275,33 +275,34 @@ void OSystem_SDL::update_screen() {
|
||||||
if (_num_dirty_rects > 0) {
|
if (_num_dirty_rects > 0) {
|
||||||
|
|
||||||
SDL_Rect *r;
|
SDL_Rect *r;
|
||||||
|
SDL_Rect dst;
|
||||||
uint32 srcPitch, dstPitch;
|
uint32 srcPitch, dstPitch;
|
||||||
SDL_Rect *last_rect = _dirty_rect_list + _num_dirty_rects;
|
SDL_Rect *last_rect = _dirty_rect_list + _num_dirty_rects;
|
||||||
|
|
||||||
// Convert appropriate parts of the 8bpp image into 16bpp
|
if (_scaler_proc == Normal1x) {
|
||||||
SDL_Rect dst;
|
SDL_Surface *target = _overlayVisible ? _tmpscreen : _screen;
|
||||||
if (!_overlayVisible) {
|
|
||||||
for(r = _dirty_rect_list; r != last_rect; ++r) {
|
for(r = _dirty_rect_list; r != last_rect; ++r) {
|
||||||
dst = *r;
|
dst = *r;
|
||||||
dst.x++; // Shift rect by one since 2xSai needs to acces the data around
|
|
||||||
dst.y++; // any pixel to scale it, and we want to avoid mem access crashes.
|
if (_overlayVisible) {
|
||||||
if (_scaler_proc == Normal1x) {
|
// FIXME: I don't understand why this is necessary...
|
||||||
if (SDL_BlitSurface(_screen, r, _hwscreen, &dst) != 0)
|
dst.x--;
|
||||||
error("SDL_BlitSurface failed: %s", SDL_GetError());
|
dst.y--;
|
||||||
} else {
|
}
|
||||||
|
if (SDL_BlitSurface(target, r, _hwscreen, &dst) != 0)
|
||||||
|
error("SDL_BlitSurface failed: %s", SDL_GetError());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!_overlayVisible) {
|
||||||
|
for(r = _dirty_rect_list; r != last_rect; ++r) {
|
||||||
|
dst = *r;
|
||||||
|
dst.x++; // Shift rect by one since 2xSai needs to acces the data around
|
||||||
|
dst.y++; // any pixel to scale it, and we want to avoid mem access crashes.
|
||||||
if (SDL_BlitSurface(_screen, r, _tmpscreen, &dst) != 0)
|
if (SDL_BlitSurface(_screen, r, _tmpscreen, &dst) != 0)
|
||||||
error("SDL_BlitSurface failed: %s", SDL_GetError());
|
error("SDL_BlitSurface failed: %s", SDL_GetError());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (_scaler_proc == Normal1x) {
|
|
||||||
for(r = _dirty_rect_list; r != last_rect; ++r) {
|
|
||||||
dst = *r;
|
|
||||||
if (SDL_BlitSurface(_tmpscreen, r, _hwscreen, &dst) != 0)
|
|
||||||
error("SDL_BlitSurface failed: %s", SDL_GetError());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_scaler_proc != Normal1x) {
|
|
||||||
SDL_LockSurface(_tmpscreen);
|
SDL_LockSurface(_tmpscreen);
|
||||||
SDL_LockSurface(_hwscreen);
|
SDL_LockSurface(_hwscreen);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue