aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/avalanche/detection.cpp')
-rw-r--r--engines/avalanche/detection.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/engines/avalanche/detection.cpp b/engines/avalanche/detection.cpp
index def395b77f..7f3d4f88a8 100644
--- a/engines/avalanche/detection.cpp
+++ b/engines/avalanche/detection.cpp
@@ -35,6 +35,10 @@
namespace Avalanche {
+struct AvalancheGameDescription {
+ ADGameDescription desc;
+};
+
uint32 AvalancheEngine::getFeatures() const {
return _gameDescription->desc.flags;
}
@@ -43,6 +47,10 @@ const char *AvalancheEngine::getGameId() const {
return _gameDescription->desc.gameId;
}
+Common::Platform AvalancheEngine::getPlatform() const {
+ return _gameDescription->desc.platform;
+}
+
static const PlainGameDescriptor avalancheGames[] = {
{"avalanche", "Lord Avalot d'Argent"},
{0, 0}
@@ -193,7 +201,12 @@ SaveStateDescriptor AvalancheMetaEngine::querySaveMetaInfos(const char *target,
SaveStateDescriptor desc(slot, description);
- Graphics::Surface *const thumbnail = Graphics::loadThumbnail(*f);
+ Graphics::Surface *thumbnail;
+ if (!Graphics::loadThumbnail(*f, thumbnail)) {
+ warning("Cannot read thumbnail data, possibly broken savegame");
+ delete f;
+ return SaveStateDescriptor();
+ }
desc.setThumbnail(thumbnail);
delete f;