aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2007-03-07 20:31:19 +0000
committerJohannes Schickel2007-03-07 20:31:19 +0000
commit305a1525edd5b8c0841806f8e6d023bca5a2a85e (patch)
tree935bce7ea012c9fde0a0f71244b9f1e896cdc913 /engines
parent71cc080fc5c7cf972a6c191cdd29aaf44a223bbb (diff)
downloadscummvm-rg350-305a1525edd5b8c0841806f8e6d023bca5a2a85e.tar.gz
scummvm-rg350-305a1525edd5b8c0841806f8e6d023bca5a2a85e.tar.bz2
scummvm-rg350-305a1525edd5b8c0841806f8e6d023bca5a2a85e.zip
- cleanup
- some diffs for Amiga version svn-id: r26010
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/kyra.cpp2
-rw-r--r--engines/kyra/kyra.h1
-rw-r--r--engines/kyra/plugin.cpp2
-rw-r--r--engines/kyra/resource.cpp13
-rw-r--r--engines/kyra/screen.cpp19
-rw-r--r--engines/kyra/screen.h3
-rw-r--r--engines/kyra/seqplayer.cpp2
-rw-r--r--engines/kyra/sequences_v1.cpp2
-rw-r--r--engines/kyra/sprites.cpp4
-rw-r--r--engines/kyra/staticres.cpp2
10 files changed, 29 insertions, 21 deletions
diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp
index a4c3b4d262..eeeabbab84 100644
--- a/engines/kyra/kyra.cpp
+++ b/engines/kyra/kyra.cpp
@@ -499,7 +499,7 @@ void KyraEngine::startup() {
initMainButtonList();
loadMainScreen();
setupTimers();
- loadPalette("PALETTE.COL", _screen->_currentPalette);
+ _screen->loadPalette("PALETTE.COL", _screen->_currentPalette);
// XXX
_animator->initAnimStateList();
diff --git a/engines/kyra/kyra.h b/engines/kyra/kyra.h
index ad42dd3c0a..6722f84f51 100644
--- a/engines/kyra/kyra.h
+++ b/engines/kyra/kyra.h
@@ -603,7 +603,6 @@ protected:
int _opcodeTableSize;
void waitForEvent();
- void loadPalette(const char *filename, uint8 *palData);
void loadMouseShapes();
void loadCharacterShapes();
void loadSpecialEffectShapes();
diff --git a/engines/kyra/plugin.cpp b/engines/kyra/plugin.cpp
index 2505519999..f7a14ceb57 100644
--- a/engines/kyra/plugin.cpp
+++ b/engines/kyra/plugin.cpp
@@ -59,6 +59,8 @@ const KYRAGameDescription adGameDescs[] = {
{ { "kyra1", 0, AD_ENTRY1("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093"), Common::ES_ESP, Common::kPlatformPC, Common::ADGF_NO_FLAGS }, KYRA1_FLOPPY_FLAGS }, // floppy 1.8 from clemmy
{ { "kyra1", 0, AD_ENTRY1("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df"), Common::IT_ITA, Common::kPlatformPC, Common::ADGF_NO_FLAGS }, KYRA1_FLOPPY_FLAGS }, // from gourry
+ //{ { "kyra1", 0, AD_ENTRY1("GEMCUT.PAK", "2bd1da653eaefd691e050e4a9eb68a64"), Common::EN_ANY, Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, KYRA1_FLOPPY_FLAGS },
+
{ { "kyra1", 0, AD_ENTRY1("TWMUSIC.PAK", "e53bca3a3e3fb49107d59463ec387a59"), Common::EN_ANY, Common::kPlatformFMTowns, Common::ADGF_NO_FLAGS }, KYRA1_TOWNS_FLAGS },
{ { "kyra1", 0, AD_ENTRY1("TWMUSIC.PAK", "e53bca3a3e3fb49107d59463ec387a59"), Common::JA_JPN, Common::kPlatformFMTowns, Common::ADGF_NO_FLAGS }, KYRA1_TOWNS_SJIS_FLAGS },
diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp
index d69b1c0dad..b896220d17 100644
--- a/engines/kyra/resource.cpp
+++ b/engines/kyra/resource.cpp
@@ -523,17 +523,4 @@ uint32 INSFile::getFileSize(uint hash) {
return 0;
}
-////////////////////////////////////////////
-void KyraEngine::loadPalette(const char *filename, uint8 *palData) {
- debugC(9, kDebugLevelMain, "KyraEngine::loadPalette('%s' %p)", filename, (void *)palData);
- uint32 fileSize = 0;
- uint8 *srcData = _res->fileData(filename, &fileSize);
-
- if (palData && fileSize) {
- debugC(9, kDebugLevelMain,"Loading a palette of size %i from '%s'", fileSize, filename);
- memcpy(palData, srcData, fileSize);
- }
- delete [] srcData;
-}
-
} // end of namespace Kyra
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 617e52b88e..6ef9ee9c21 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -2450,7 +2450,7 @@ void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *
if (palData && palSize) {
debugC(9, kDebugLevelMain,"Loading a palette of size %i from %s", palSize, filename);
- memcpy(palData, srcData + 10, palSize);
+ loadPalette(srcData + 10, palData, palSize);
}
uint8 *srcPtr = srcData + 10 + palSize;
@@ -2476,6 +2476,23 @@ void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *
delete [] srcData;
}
+void Screen::loadPalette(const char *filename, uint8 *palData) {
+ debugC(9, kDebugLevelScreen, "Screen::loadPalette('%s' %p)", filename, (void *)palData);
+ uint32 fileSize = 0;
+ uint8 *srcData = _vm->resource()->fileData(filename, &fileSize);
+
+ if (palData && fileSize) {
+ debugC(9, kDebugLevelScreen,"Loading a palette of size %i from '%s'", fileSize, filename);
+ memcpy(palData, srcData, fileSize);
+ }
+ delete [] srcData;
+}
+
+void Screen::loadPalette(const byte *data, uint8 *palData, int bytes) {
+ debugC(9, kDebugLevelScreen, "Screen::loadPalette(%p, %p %d)", (void *)data, (void *)palData, bytes);
+ memcpy(palData, data, bytes);
+}
+
// kyra3 specific
const uint8 *Screen::getPtrToShape(const uint8 *shpFile, int shape) {
diff --git a/engines/kyra/screen.h b/engines/kyra/screen.h
index 01f19781d5..fbdb517f3c 100644
--- a/engines/kyra/screen.h
+++ b/engines/kyra/screen.h
@@ -186,6 +186,9 @@ public:
// misc
void loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData);
+ void loadPalette(const char *filename, uint8 *palData);
+ void loadPalette(const byte *data, uint8 *palData, int bytes);
+
void setAnimBlockPtr(int size);
void setShapePages(int page1, int page2);
diff --git a/engines/kyra/seqplayer.cpp b/engines/kyra/seqplayer.cpp
index 5e7e5e5bf6..19a1db615a 100644
--- a/engines/kyra/seqplayer.cpp
+++ b/engines/kyra/seqplayer.cpp
@@ -93,7 +93,7 @@ uint8 *SeqPlayer::setPanPages(int pageNum, int shape) {
void SeqPlayer::makeHandShapes() {
debugC(9, kDebugLevelSequence, "SeqPlayer::makeHandShapes()");
_screen->loadBitmap("WRITING.CPS", 3, 3, 0);
- if (_vm->gameFlags().platform == Common::kPlatformMacintosh) {
+ if (_vm->gameFlags().platform == Common::kPlatformMacintosh || _vm->gameFlags().platform == Common::kPlatformAmiga) {
freeHandShapes();
int pageBackUp = _screen->_curPage;
diff --git a/engines/kyra/sequences_v1.cpp b/engines/kyra/sequences_v1.cpp
index 752db080c4..30deaf3e68 100644
--- a/engines/kyra/sequences_v1.cpp
+++ b/engines/kyra/sequences_v1.cpp
@@ -1641,7 +1641,7 @@ int KyraEngine::processBead(int x, int y, int &x2, int &y2, BeadState *ptr) {
void KyraEngine::setupPanPages() {
debugC(9, kDebugLevelMain, "KyraEngine::setupPanPages()");
_screen->loadBitmap("BEAD.CPS", 3, 3, 0);
- if (_flags.platform == Common::kPlatformMacintosh) {
+ if (_flags.platform == Common::kPlatformMacintosh || _flags.platform == Common::kPlatformAmiga) {
int pageBackUp = _screen->_curPage;
_screen->_curPage = 2;
diff --git a/engines/kyra/sprites.cpp b/engines/kyra/sprites.cpp
index 5fa86b5a42..ba1e08ede1 100644
--- a/engines/kyra/sprites.cpp
+++ b/engines/kyra/sprites.cpp
@@ -422,7 +422,7 @@ void Sprites::loadDAT(const char *filename, SceneExits &exits) {
}
// XXX
_engine->_paletteChanged = 1;
- memcpy(_screen->getPalette(1) + 684, _dat + 0x17, 60);
+ _screen->loadPalette(_dat + 0x17, _screen->getPalette(1) + 684, 60);
uint8 *data = _dat + 0x6B;
uint16 length = READ_LE_UINT16(data);
@@ -478,7 +478,7 @@ void Sprites::loadDAT(const char *filename, SceneExits &exits) {
data += 2;
break;
default:
- warning("Unknown code in DAT file '%s' offset %d: %x", filename, data - _dat, READ_LE_UINT16(data));
+ warning("Unknown code in DAT file '%s' offset %d: %x", filename, int(data - _dat), READ_LE_UINT16(data));
data += 2;
break;
}
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index 32226d330e..563826ff1c 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -838,7 +838,7 @@ void KyraEngine::loadButtonShapes() {
void KyraEngine::loadMainScreen(int page) {
_screen->clearPage(page);
- if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && _flags.platform == Common::kPlatformPC)
+ if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga))
_screen->loadBitmap("MAIN15.CPS", page, page, 0);
else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN)
_screen->loadBitmap("MAIN_ENG.CPS", page, page, 0);