[ scummvm-Bugs-3049336 ] BS2: Detects games in wrong places

SourceForge.net noreply at sourceforge.net
Fri Aug 20 15:31:37 CEST 2010


Bugs item #3049336, was opened at 2010-08-20 15:31
Message generated for change (Tracker Item Submitted) made by fingolfin
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=3049336&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: Broken Sword 2
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Max Horn (fingolfin)
Assigned to: Nobody/Anonymous (nobody)
Summary: BS2: Detects games in wrong places

Initial Comment:
The Broken Sword 2 engine's detector is not strict enough, making it very easy for a user to incorrectly "Add" BS2 with an incorrect path; more importantly, this screws the mass detector, as a single BS2 installation will result in multiple detected game instances, but only one of the config entries created this way will actually work...
Moreover, it seems unable to distinguish full and demo versions.

As an example, consider this: I have a copy of BS2 installed, copied almost straight from CD; I did *not* put all files together into a single directory; rather, my BS sits in a directors "sword2", which has subdirs "CLUSTERS", "Smacks" and " Sword2" (which contains cd.inf). I can run BS2 quite fine this way.

Next to my "sword2" dir, I also have a "sword2demo" with a BS2 demo; this dir is "flat", having all files next to each other.

If I point the "mass detector" at the directory containing the "sword2" and "sword2demo" dirs, it will add the following *six* entries (each shown abbreviated): It detects the demo twice (once as demo, once as full version); it detects the files in "sword2" twice (once full, once demo); and it detects the files in "sword2/CLUSTERS" twice.

[sword2]
gameid=sword2
path=/MY/PATH/Revolution/sword2demo

[sword2-1]
gameid=sword2
path=/MY/PATH/Revolution/sword2

[sword2-2]
gameid=sword2
path=/MY/PATH/Revolution/sword2/CLUSTERS

[sword2demo]
gameid=sword2demo
path=/MY/PATH/Revolution/sword2/CLUSTERS

[sword2demo-1]
gameid=sword2demo
path=/MY/PATH/Revolution/sword2demo

[sword2demo-2]
gameid=sword2demo
path=/MY/PATH/Revolution/sword2


Two things should be fixed:

1) We should correctly detect demo vs. non-demo. E.g. make an explicit list of all required files (*.clu and cd.inf, and...) for the full and the demo version. This wold also help detect incomplete installations. Or, add MD5 fingerprints of all files.

2) Don't incorrectly detect the "CLUSTERS" dir as a full game installation for people like me who just copy their CD's content straight. My particular example could be addressed by checking for the presence of cd.inf However, a more elaborate scheme may be necessary (in particular, the PSX version doesn't seem to need cd.inf).


We could also at the same time switch the engine to the advanced detector, but that might be overkill.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=3049336&group_id=37116




More information about the Scummvm-tracker mailing list