Required for Mac fonts. Previous code implicitly assumed that the first
format in the system's would always be 2 bytes per pixel. This is not
the case when upscaling. Now we explicitly search for the format.
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.
This removes the unnecessary Buffer subclass and stops most places
where the output buffer was being interrogated about dimensions
instead of GfxFrameout.
Adding a hook into kPlayDuck to skip the intro video feels kind of
crappy, but it seemed simpler, consistent with the other hooks for
launch loading, and therefore preferable versus hot-patching the
script or messing with PC in the VM or something.
1. Added a new game option for linear interpolation when scaling
video in ScummVM builds with USE_RGB_COLOR;
2. 8bpp videos that put black in a palette index other than 0
(KQ7) should now always render correctly without the earlier
game-specific workarounds which did not work very well;
3. Data from game scripts regarding video size and position are
now ignored, since games always just try to show videos in the
middle of the screen, but frequently get this a little bit
wrong, causing either bad aspect ratios or off-center videos;
4. Builds without USE_RGB_COLOR support will not crash when
attempting to play >8bpp AVIs, like those from KQ7 2.00b.
Fixes Trac#9843, Trac#9762.
This change invalidates earlier SCI32 save games, which separated
arrays and strings in an incompatible manner. Old save games
contain invalid references to a string segment which no longer
exists, and contain incompatible array structures that lack
critical type information.
Revert "SCI32: Fix KQ7 1.51 video background"
This reverts commit c8affb54cc.
Revert "SCI32: Fix crash when kShowMovie is called but the video cannot be found"
This reverts commit 93b06f4a9e.
Revert "SCI32: Fix KQ7 1.51 basic video playback"
This reverts commit cdab24aa07.
Revert "SCI32: Additional Video32 documentation"
This reverts commit 4ff0924e57.
Revert "SCI32: Implement kShowMovie"
This reverts commit 13297c1929.
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
After discussing with DrMcCoy, we felt this the best way to proceed. A wrapper class that implements AdvancedVideoDecoder is still around for use in SCI.
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)