Ween demo has both interactive and non-interactive portions. The title
is Ween: The Prophecy, and so language code EN_GRB is used.
https://archive.org/details/TheProphecy_1020
Dynasty demo plays a single VMD from a small SCN file.
https://archive.org/details/dynasty_zip
Combined demo from CD-ROM Today # 11 (1995) plays the above Dynasty
demo followed by the already known Woodruff demo. In the spirit of the
combined demos in the SCUMM engine, we can create a new game ID.
All of the above play without issue in ScummVM.
Also added file sizes to some existing detection entries and added the
missing demo flags to the Inca2 and Woodruff demos.
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
- DataIO is a class that helps with fallback detection for MetaEngines.
- To prepare it for being included in the executable, get rid of unneeded engine dependencies & headers.
- A utility function is being used from util.cpp, simply prepare a static copy in fileio.cpp
- Leave a comment saying a copy is being used in util.cpp.
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.
AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.
This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.