aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/detection.cpp17
-rw-r--r--engines/agi/preagi_winnie.cpp13
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();
}
}