diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agi/detection.cpp | 17 | ||||
-rw-r--r-- | engines/agi/preagi_winnie.cpp | 13 |
2 files changed, 26 insertions, 4 deletions
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 3854099702..28f438f811 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1651,6 +1651,23 @@ static const AGIGameDescription gameDescriptions[] = { }, { + // Winnie the Pooh in the Hundred Acre Wood + // preagi game + { + "winnie", + "", + AD_ENTRY1("title", "2e7900c1ccaa7671d65405f6d1efed30"), + Common::EN_ANY, + Common::kPlatformAmiga, + Common::ADGF_NO_FLAGS + }, + GID_WINNIE, + GType_PreAGI, + 0, + 0x0000, + }, + + { // Xmas Card 1986 (PC) [AGI 2.272] { "xmascard", diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp index 3ba17e7337..84485cb100 100644 --- a/engines/agi/preagi_winnie.cpp +++ b/engines/agi/preagi_winnie.cpp @@ -120,12 +120,14 @@ void Winnie::randomize() { } void Winnie::intro() { - drawPic(IDS_WTP_FILE_LOGO); + drawPic((!_vm->getPlatform() == Common::kPlatformAmiga) ? IDS_WTP_FILE_LOGO : "logo"); _vm->printStr(IDS_WTP_INTRO_0); _vm->_gfx->doUpdate(); _vm->_system->updateScreen(); _vm->_system->delayMillis(0x640); - drawPic(IDS_WTP_FILE_TITLE); + if (_vm->getPlatform() == Common::kPlatformAmiga) + _vm->_gfx->clearScreen(0); + drawPic((!_vm->getPlatform() == Common::kPlatformAmiga) ? IDS_WTP_FILE_TITLE : "title"); _vm->printStr(IDS_WTP_INTRO_1); _vm->_gfx->doUpdate(); _vm->_system->updateScreen(); @@ -969,8 +971,10 @@ void Winnie::drawPic(const char *szName) { // construct filename sprintf(szFile, IDS_WTP_PATH, szName); Common::File file; - if (!file.open(szName)) + if (!file.open(szName)) { + warning ("Could not open file \'%s\'", szName); return; + } uint32 size = file.size(); file.read(buffer, size); file.close(); @@ -1104,7 +1108,8 @@ void Winnie::init() { void Winnie::run() { randomize(); intro(); - gameLoop(); + if (!_vm->getPlatform() == Common::kPlatformAmiga) + gameLoop(); } } |