Two detection entries for the v1.1 version have the same MD5 hash,
but different file size. According to GoodOldGeorg on the forum one
is a OEM version and the other is a retail version.
The detection entry was also reported in bug #4198, but the one that
was actually added to the detection table with the same hash had a
different file size. I don't know if they are two different versions,
or if it was a mistake, so I kept the detection entry and just added
the new one.
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.
This flag is removed for a few reasons:
* Engines universally set this flag to true for widths > 320,
which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
since its behaviour was almost completely undocumented and users
would need to figure out that they'd need an explicit non-default
scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
deciding how the backend may choose to render its virtual screen.
The choice of rendering behaviour belongs to the user, and the
backend, in that order.
A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
The final palette wasn't set so, for instance, at the beginning of
the RTZ intro the Infocom logo wouldn't completely fade to back. I
think this is the correcet fix for that.
The interpolation code for deltaType > 0 read past the end of the
workChunkSize-sized filled area of the buffer (which matches what MADE
did, as far as I can tell). Avoid this by repeating the last value.
The sound buffer used in decompressSound() is now stored so that
it can be re-used in the next call of decompressSound, specifically
in chunk type 1.
This caused some clicking/static in the intro of Return to Zork.
Thanks to eriktorbjorn for noticing the glitch and writing most of the patch.