diff options
Diffstat (limited to 'engines/avalanche/detection.cpp')
-rw-r--r-- | engines/avalanche/detection.cpp | 15 |
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; |