aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base/base_file_manager.cpp
AgeCommit message (Collapse)Author
2019-06-25WINTERMUTE: Add lots of entries to detection table and refactor handling of ↵lolbot-iichan
localization packages * WINTERMUTE: Add detection for unsupported "Basis Octavus" game This game is not supported by ScummVM, because it's 2.5D. However, there are already other 2.5D games in detection table and the intent is to add all known games, and support 2.5D in ResidualVM later. * WINTERMUTE: Add detection for Alimardan dilogy "Alimardan's Mischief" and "Alimardan Meets Merlin" are games by Iranian developer Resana Shokooh Kavir (http://rskgd.com/) It seems that Persian versions also exist, I'll surely look at it later: https://www.digikala.com/product/dkp-75901 There were 2 steam releases for alimardan1: https://steamdb.info/depot/694421/manifests/ There was only one steam release of alimardan2: https://steamdb.info/depot/694431/manifests/ * WINTERMUTE: Add detection for Oknytt 1.12 Oknytt had 2 steam releases (1.12 and 1.13): https://steamdb.info/depot/286321/manifests/ I have downloaded 1.12 and added detection. * WINTERMUTE: Add empty strings between detection table lines * WINTERMUTE: Add detection for Steam versions of reversion1 for Windows Source: https://steamdb.info/depot/270572/manifests/ * WINTERMUTE: Add detection for Steam version of reversion1 for Linux Source: https://steamdb.info/depot/270571/manifests/ * WINTERMUTE: Fix localization loading for Mac and Linux Mac and Linux builds of reversion1 & reversion2 does not have any "languages" folders. So, we need to filter those files according to filenames too. Once there is such filtering, there is no need for this overspecific hack for revision1's xlanguage_pt.dcp. * WINTERMUTE: Add detection for Steam versions of reversion2 for Windows Source: https://steamdb.info/depot/281061/manifests/ * WINTERMUTE: Language packages priority for Linux & Mac * WINTERMUTE: Add detection for Steam versions of reversion2 for Linux Source: https://steamdb.info/depot/281062/manifests/ * WINTERMUTE: Add detection for Steam versions of reversion2 for Mac Source: https://steamdb.info/depot/281063/manifests/ * WINTERMUTE: Add detection for Steam versions of reversion1 for Mac Source: https://steamdb.info/depot/270573/manifests/ * WINTERMUTE: Add detection for old Desura versions of reversion2 Source: https://bugs.scummvm.org/ticket/6564 * WINTERMUTE: Add detection for Spanish versions of reversion1&2 As was shown by windlepoons, xlanguage_* contains additional translation package, while data.dcp contains original translation (which is Spanish). So, even without owning those old releases of reversion1&2, I can wrote detection tables for them by not looking for any "xlanguage_*.dcp" file. However, we shouldn't use WME_ENTRY1s for Spanish, because advanced detector say "new best match, removing all previous candidates" once it hit a WME_ENTRY2s. Instead, let's just look for data.dcp twice to give user a choice of several WME_ENTRY2s. Lor Linux, it's WME_ENTRY3s. * WINTERMUTE: Filter language packages ignoring folder name There are 4 types of multilang games: 1. Each installation contain a data.dcp package (same for all languages) + an additional language package. Other localization packages are not installed. Those games are: "Helga Deep In Trouble", "Dirty Split", "Looky". 2. Each installation contain a data.dcp package (same for all languages) + a folder with all localization packages + a single "selected" language package copied to main folder. "xlanguage_" prefix is usual for reversion series. Other games usually use "english.dcp", "spanich.dcp", "czech.dcp", etc. Those are: "Five Lethal Demons", "Five Magical Amulets", "Dead City", "Oknytt", "Reversion: The Escape", "Reversion: The Meeting". 3. All localizations are inside data.dcp all-together. Those are: "One Hellavu Day", "The White Chamber" and "James Peris: No License Nor Control". 4. Different data.dcp build for each language. All other known games are here. This code covers all known filenames for localization packages and provide several guessworks for ignoring all irrelevant localization packages. * WINTERMUTE: Add localization detection for Five Lethal Demons * WINTERMUTE: Tweak detection for Dead City (Czech) "english.dcp" is not required to play Dead City in Czech language, so we don't need to detect it * WINTERMUTE: Add detection table for Looky in English I got English version here: https://bullshit-softworx.itch.io/looky-adventure * WINTERMUTE: Add detection for Czech versions of Helga "english.dcp" happen to be optional
2019-06-06WINTERMUTE: Show warning on running 2.5D gameslolbot-iichan
This is shown for the 2 games added in 0d8834b5616aa8fc936c750ed92ef4423610d641, as both of them use ACTOR3DX entities, i.e. 3D models, which are not supported in ScummVM
2016-03-06WINTERMUTE: Actually use new BasePersistenceManager constructorWillem Jan Palenstijn
2016-03-05WINTERMUTE: Return Common::String in getGameTargetName()Tobia Tesan
2015-02-22WINTERMUTE: Fixed parentFolder name check when testing for ↵jammm
"language"/"languages", Fix bug #6655 (Dead City - hotspot text issue) Fixed Wintermute incorretly parsing folder names with trailing \ (Windows-only issue) It seems that calling getParent returns trailing '\' which is absent on POSIX based file systems but not on Windows. This causes Wintermute to load outline_red2.font from russian.dcp, which is not desired. This is fixed by calling it->getName() directly, which returns the folder name (without the trailing '\').
2014-07-22WME: added few more games. added ability to detect from exe files.Pawel Kolodziejski
2014-02-18WINTERMUTE: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-05WINTERMUTE: Skip Latvian language package if not selected.Johannes Schickel
2013-12-05WINTERMUTE: Fix typo in Polish language filename in Reversion1.Johannes Schickel
2013-11-23WINTERMUTE: Use const_iterator in BaseFileManager::registerPackages.Johannes Schickel
2013-11-23WINTERMUTE: Slight interator usage cleanup.Johannes Schickel
2013-11-23WINTERMUTE: Remove another unused variable.Johannes Schickel
2013-11-23WINTERMUTE: Make BaseFileManager::registerPackages case agnostic.Johannes Schickel
The old version did only work as expected when all the filenames were all lowercase. This seems to be the case for most (or even all?) WME games. However, we are better safe than sorry and make the code case agnostic.
2013-11-23WINTERMUTE: Remove unused variables.Johannes Schickel
2013-11-18WINTERMUTE: Add quite a bit of hackery to allow Reversion 1.3 to select ↵Einar Johan Trøan Sømåen
languages properly. Reversion 1.3 seems to have one language file in it’s main-folder, and a full set in languages/ (not language/ like a few other games), the names of the language-files are also different from what we’ve seen earlier.
2013-08-04WINTERMUTE: Fix end of namespace comments.Johannes Schickel
2013-07-31WINTERMUTE: Let engine know both gameid and language of target as well as ↵Einar Johan Trøan Sømåen
targetname.
2013-06-06WINTERMUTE: Fix for unnecessary "WARNING: getChildren() failed for path:"Tobia Tesan
FSNode::getChildren() was called assuming that it returns 0 iff success. Actually, it's the other way around.
2013-04-17WINTERMUTE: Check results while traversing file-system.Einar Johan Trøan Sømåen
2013-04-17WINTERMUTE: Replace strcpy by strlcpy in BaseFileManagerEinar Johan Trøan Sømåen
2013-03-24WINTERMUTE: Avoid REQUIRING wintermute.zip during detection.Einar Johan Trøan Sømåen
2013-01-28WINTERMUTE: Move Resources out of binary and into wintermute.zipEinar Johan Trøan Sømåen
2013-01-26WINTERMUTE: Replace all NULLs with nullptr.Einar Johan Trøan Sømåen
2012-09-04WINTERMUTE: Convert CRLF to LFWillem Jan Palenstijn
2012-08-31WINTERMUTE: Use ++it instead of it++Einar Johan Trøan Sømåen
2012-08-13WINTERMUTE: Add language-filtering for Czech, Italian, Polish and Russian.Einar Johan Trøan Sømåen
No detection-support is added for those languages at this point though.
2012-08-13WINTERMUTE: WinterMute -> WintermuteEinar Johan Trøan Sømåen
2012-08-11WINTERMUTE: Make missing-file warnings a debugCEinar Johan Trøan Sømåen
The sound-system attempts to open files in various formats, some of which may not exist, no reason for these to fill the console with output.
2012-07-29WINTERMUTE: Replace BaseRegistry with ConfManEinar Johan Trøan Sømåen
2012-07-29WINTERMUTE: Make the BaseEngine-singleton use Common::Singleton as super-classEinar Johan Trøan Sømåen
2012-07-29WINTERMUTE: Introduce a Singleton-class for holding registry/filemanager.Einar Johan Trøan Sømåen
2012-07-28WINTERMUTE: Fix a few warnings pointed out by fuzzie.Einar Johan Trøan Sømåen
2012-07-27WINTERMUTE: Get rid of almost all LLVM GCC 4.2 warnings.Einar Johan Trøan Sømåen
2012-07-27WINTERMUTE: Fix SaveGame-thumb loading/saving.Einar Johan Trøan Sømåen
2012-07-27WINTERMUTE: Clear out a few warning()sEinar Johan Trøan Sømåen
2012-07-26WINTERMUTE: Avoid crashing when a file doesn't exist in a DCP.Einar Johan Trøan Sømåen
2012-07-26WINTERMUTE: Run Astyle with add-braces to break one-line statements into ↵Einar Johan Trøan Sømåen
easier-to-read-code.
2012-07-26WINTERMUTE: AStyle-formatting.Einar Johan Trøan Sømåen
2012-07-25WINTERMUTE: "delete []" -> "delete[]"Einar Johan Trøan Sømåen
2012-07-25WINTERMUTE: Move SaveGame-file-saving handling over to BasePersistenceManagerEinar Johan Trøan Sømåen
2012-07-25WINTERMUTE: Change the DCP-file access to work as an Common::Archive.Einar Johan Trøan Sømåen
2012-07-25WINTERMUTE: Cleanup in BaseFileManagerEinar Johan Trøan Sømåen
2012-07-25WINTERMUTE: Avoid starting up the engine to perform detection.Einar Johan Trøan Sømåen
2012-07-24WINTERMUTE: Clean up and comment base_disk_file.Einar Johan Trøan Sømåen
2012-07-24WINTERMUTE: Use hasSuffix instead of contains to verify file-extensions.Einar Johan Trøan Sømåen
2012-07-23WINTERMUTE: Handle the "language/" subdirectory separately for choice of ↵Einar Johan Trøan Sømåen
language. Since we don't have the same launcher the games have, we'll have to avoid including ALL the datafiles, as the localization-dcps are usually intended to work alone. For now, it's hardcoded to only load english.
2012-07-23WINTERMUTE: Remove dcgf.h from almost all includes.Einar Johan Trøan Sømåen
2012-07-23WINTERMUTE: Remove unused code from platform_osystem.hEinar Johan Trøan Sømåen
2012-07-23WINTERMUTE: Some more BaseFileManager-cleanupEinar Johan Trøan Sømåen
2012-07-23WINTERMUTE: Reenable direct package-loading for nowEinar Johan Trøan Sømåen