Age | Commit message (Collapse) | Author |
|
When a user tries to add a game expecting it to be a particular
game for a particular engine, but a detector from another engine
happens to match some files that exist in the game directory and
reports on those files instead, this can cause a lot of confusion
because the detector doesn't say what engine or game it thought it
matched.
This patch adds the name of the matching engine as well as any
matching game IDs (if applicable) to the detector's logged output.
It also provides more specific guidance about where to send the
detection information (to the bug tracker), and properly wraps the
first part of the report to 80 columns.
Refs Trac#10272.
|
|
If an early file in the game's signature list has a hash/size
mismatch, it is still necessary to continue to check the rest of
the candidate files for existence, since the non-existence of
candidate files is supposed to disqualify a game description as
matching a game to an unknown variant.
By quitting the file check early, the detector had been allowing
descriptions to randomly match if there happened to be an early
file in the detection list with the right name but wrong hash/size,
even if some of the other signature files did not exist at all.
|
|
This allows an engine to match files that exist multiple times
in the same game directory with the same basename.
For example, different releases of Torin's Passage in SCI engine
come with zero or more GERMAN, FRENCH, ENGLISH, etc. directories,
all containing files with the same basenames but with different
contents per language. Because the allFiles map used only the
basename of a file as a key, it could not match more than one of
these localization directories, which made it impossible to select
from all the possible languages.
Refs Trac#9772.
|
|
|
|
|
|
Until now, we had three separate strings for the message
about unsupported games. This commit merges them into
one single string.
|
|
gameid -> gameId
|
|
gameid -> gameId
guioptions -> guiOptions
|
|
_singleid -> _singleId
_gameids -> _gameIds
_guioptions -> _guiOptions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"PC" was very ambiguous and now it matches what we show in the GUI.
This also corrects sword2's platform to Windows.
|
|
|
|
Since we need a FSNode parent for Mac resource forks, we need to change
signature of detectGameFilebased(), too.
|
|
getFileProperties()
|
|
|
|
|
|
This is used to set default settings for all custom game options when an
engine starts
|
|
|
|
This eliminates nasty limitation of caping number of flags to 31.
Current code has limitation of 255 flags, though.
Only SCUMM engine is converted, rest do not even compile.
Detection of fan talkie MI is broken as it has to be implemented
differently.
|
|
The cache issue has been discussed before, it breaks accessing files
beginning with a dot on POSIX. The change to the advancedDetector
to see hidden files was suggested by AdamRi on IRC.
|
|
ADGF_UNSTABLE is always warned about.
ADGF_TESTING is only warned about when running
configure with --enable-relase.
Both warnings are subject to the enable_wip_game_warning
config option.
|
|
|
|
|
|
|
|
Also reorder the parameters of composeFileHashMap, placing the "return value"
first.
|
|
|
|
|
|
|
|
This includes a renaming of ADObsoleteGameID to Engine::ObsoleteGameID,
and AdvancedDetector::findGameID now is Engines::findGameID.
Doxygen comments were added or improved
|
|
|
|
The eventual goal here is to make it easier (well, *possible*) for
subclasses to modify the detector behavior, e.g. to implement
custom fallback detection.
One immediate goal could be to move the filebased fallback detector
into a subclass.
|
|
|
|
|
|
|
|
Also make the strings translatable.
|
|
|
|
It doesn't seem very useful to keep this around for future uses,
either, at least I couldn't think of a convincing argument.
If we really need something like this one day again, it is trivial
enough to add it back.
|
|
|
|
Right now, a few places in the frontend code still use printf and
consorts. We mark the affected files with a FIXME for now, and
add a dedicated exception for each. To be fixed!
Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always
enforce a compiler error
|
|
Some backends may break as I only compiled SDL
|
|
Since various apps can modify the type/creator of the files, we can't rely on the header of the resource fork to take the md5. I've therefore also recalculated all of the detector entries (all 5 of them) that use the Mac resource fork code.
svn-id: r55764
|
|
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
as a hex string now returns it as a Common::String
* add doxygen comments
svn-id: r54121
|
|
Also add a FIXME regarding the fact that we don't handle the case that a
file is listed as a regular file and as one with resource fork.
svn-id: r54120
|