diff options
author | Max Horn | 2006-07-09 11:47:17 +0000 |
---|---|---|
committer | Max Horn | 2006-07-09 11:47:17 +0000 |
commit | bea72e9514a5b3ced091d952762a5fa633e27740 (patch) | |
tree | c697df47b449a0952c2bb18f10502cae8ae3d939 /engines | |
parent | 51ad5aa7197b3ced348ae37e2bc1586cb25dff3e (diff) | |
download | scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.tar.gz scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.tar.bz2 scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.zip |
Patch #1519399: DS Backend
svn-id: r23452
Diffstat (limited to 'engines')
-rw-r--r-- | engines/scumm/dialogs.cpp | 9 | ||||
-rw-r--r-- | engines/scumm/gfx.cpp | 15 | ||||
-rw-r--r-- | engines/scumm/thumbnail.cpp | 2 |
3 files changed, 25 insertions, 1 deletions
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index fb3f217ee6..c482bfe34e 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -27,6 +27,10 @@ #include "graphics/scaler.h" +#ifdef __DS__ +#include "scummhelp.h" +#endif + #include "gui/about.h" #include "gui/chooser.h" #include "gui/eval.h" @@ -710,7 +714,12 @@ void HelpDialog::displayKeyBindings() { String titleStr, *keyStr, *dscStr; +#ifndef __DS__ ScummHelp::updateStrings(_game.id, _game.version, _game.platform, _page, titleStr, keyStr, dscStr); +#else + // DS version has a different help screen + DS::updateStrings(_game.id, _game.version, _game.platform, _page, titleStr, keyStr, dscStr); +#endif _title->setLabel(titleStr); for (int i = 0; i < HELP_NUM_LINES; i++) { diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp index 2881558efa..b355b29eed 100644 --- a/engines/scumm/gfx.cpp +++ b/engines/scumm/gfx.cpp @@ -32,6 +32,9 @@ #include "scumm/resource.h" #include "scumm/usage_bits.h" #include "scumm/he/wiz_he.h" +#ifdef __DS__ +#include "blitters.h" +#endif namespace Scumm { @@ -545,6 +548,9 @@ void ScummEngine::drawStripToScreen(VirtScreen *vs, int x, int width, int top, i // Handle the text mask in older games; newer (V7/V8) games do not use it anymore. const byte *text = (byte *)_charset->_textSurface.pixels + x + y * _charset->_textSurface.pitch; +#ifdef __DS__ + DS::asmDrawStripToScreen(height, width, text, src, dst, vs->pitch, _screenWidth, _charset->_textSurface.pitch); +#else // Compose the text over the game graphics for (int h = 0; h < height; ++h) { for (int w = 0; w < width; ++w) { @@ -557,6 +563,7 @@ void ScummEngine::drawStripToScreen(VirtScreen *vs, int x, int width, int top, i dst += _screenWidth; text += _charset->_textSurface.pitch; } +#endif } else { // Just do a simple blit in V7/V8 games. blit(dst, _screenWidth, src, vs->pitch, width, height); @@ -974,6 +981,10 @@ static void fill(byte *dst, int dstPitch, byte color, int w, int h) { } static void copy8Col(byte *dst, int dstPitch, const byte *src, int height) { + +#ifndef __DS__ + + do { #if defined(SCUMM_NEED_ALIGNMENT) memcpy(dst, src, 8); @@ -984,6 +995,10 @@ static void copy8Col(byte *dst, int dstPitch, const byte *src, int height) { dst += dstPitch; src += dstPitch; } while (--height); +#else + DS::asmCopy8Col(dst, dstPitch, src, height); +#endif + } static void clear8Col(byte *dst, int dstPitch, int height) { diff --git a/engines/scumm/thumbnail.cpp b/engines/scumm/thumbnail.cpp index f1854f71c7..af2052fa87 100644 --- a/engines/scumm/thumbnail.cpp +++ b/engines/scumm/thumbnail.cpp @@ -104,7 +104,7 @@ Graphics::Surface *ScummEngine::loadThumbnail(Common::InSaveFile *file) { void ScummEngine::saveThumbnail(Common::OutSaveFile *file) { Graphics::Surface thumb; -#ifndef PALMOS_68K +#if !defined(PALMOS_68K) || !defined(__DS__) if (!createThumbnailFromScreen(&thumb)) #endif thumb.create(kThumbnailWidth, kThumbnailHeight2, sizeof(uint16)); |