Applied roever's screen effects patch (#602595) and fixed LethalWP's Makefile ;)

svn-id: r4909
This commit is contained in:
Michael Pearce 2002-09-09 05:56:11 +00:00
parent 5b8eb34406
commit 0fbefc72aa
12 changed files with 300 additions and 4 deletions

View file

@ -132,6 +132,46 @@ void OSystem_Dreamcast::copy_rect(const byte *buf, int pitch, int x, int y,
} while (--h);
}
void OSystem_Dreamcast::move_screen(int dx, int dy, int height) {
if ((dx == 0) && (dy == 0))
return;
if (dx == 0) {
// vertical movement
if (dy > 0) {
// move down
// copy from bottom to top
for (int y = height - 1; y >= dy; y--)
copy_rect(screen + SCREEN_W * (y - dy), SCREEN_W, 0, y, SCREEN_W, 1);
} else {
// move up
// copy from top to bottom
for (int y = 0; y < height + dx; y++)
copy_rect(screen + SCREEN_W * (y - dy), SCREEN_W, 0, y, SCREEN_W, 1);
}
} else if (dy == 0) {
// horizontal movement
if (dx > 0) {
// move right
// copy from right to left
for (int x = SCREEN_W - 1; x >= dx; x--)
copy_rect(screen + x - dx, SCREEN_W, x, 0, 1, height);
} else {
// move left
// copy from left to right
for (int x = 0; x < SCREEN_W; x++)
copy_rect(screen + x - dx, SCREEN_W, x, 0, 1, height);
}
} else {
// free movement
// not neccessary for now
}
}
bool OSystem_Dreamcast::show_mouse(bool visible)
{
bool last = _ms_visible;