Add scrolling code for oracle in FF

svn-id: r21668
This commit is contained in:
Travis Howell 2006-04-07 12:57:40 +00:00
parent 67fda4ece5
commit f51575563e
2 changed files with 52 additions and 3 deletions

View File

@ -224,7 +224,7 @@ static const byte _simon2_cursors[10][256] = {
};
void SimonEngine::drawMousePointer() {
//debug(0, "Mouse %d Anim %d Max %d", _mouseCursor, _mouseAnim, _mouseAnimMax);
debug(0, "Mouse %d Anim %d Max %d", _mouseCursor, _mouseAnim, _mouseAnimMax);
if (getGameType() == GType_SIMON2)
_system->setMouseCursor(_simon2_cursors[_mouseCursor], 16, 16, 7, 7);

View File

@ -223,11 +223,60 @@ void SimonEngine::listSaveGames(int n) {
}
void SimonEngine::scrollOracleUp() {
// TODO
byte *src, *dst;
uint16 w, h;
dst = getFrontBuf() + 103 * _screenWidth + 136;
src = getFrontBuf() + 106 * _screenWidth + 136;
for (h = 0; h < 21; h++) {
for (w = 0; w < 360; w++) {
if (dst[w] == 0 || dst[w] == 113 || dst[w] == 116 || dst[w] == 252)
dst[w] = src[w];
}
dst += _screenWidth;
src += _screenWidth;
}
for (h = 0; h < 80; h++) {
memcpy(dst, src, 360);
dst += _screenWidth;
src += _screenWidth;
}
for (h = 0; h < 3; h++) {
memset(dst, 0, 360);
dst += _screenWidth;
src += _screenWidth;
}
}
void SimonEngine::scrollOracleDown() {
// TODO
byte *src, *dst;
uint16 w, h;
src = getFrontBuf() + 203 * _screenWidth + 136;
dst = getFrontBuf() + 206 * _screenWidth + 136;
for (h = 0; h < 77; h++) {
memcpy(dst, src, 360);
dst -= _screenWidth;
src -= _screenWidth;
}
for (h = 0; h < 24; h++) {
for (w = 0; w < 360; w++) {
if (src[w] == 0)
dst[w] = src[w];
if (src[w] == 113 || src[w] == 116 || src[w] == 252) {
dst[w] = src[w];
src[w] = 0;
}
}
dst -= _screenWidth;
src -= _screenWidth;
}
}
void SimonEngine::bltOracleText() {