Commit Graph
74 Commits
Author SHA1 Message Date
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Willem Jan Palenstijn 0be765b288 SCI: Add support for RGB rendering 2020-10-24 02:55:01 +03:00
sluicebox 3deabc9873 SCI32: Add QuickTime support for KQ7 Mac movies 2020-04-20 15:59:32 -07:00
sluicebox 55dba55056 SCI32: Fix kRobot subop 6 implementation
Fixes Phantasmagoria 1 animations not resuming after closing the
control panel during the chapter 7 chase
2019-12-06 21:02:53 -08:00
sluicebox 05b21ace68 SCI32: Implement VMD Censorship Blobs
Phantasmagoria 1's censorship mode is now supported

Trac #11229
2019-12-04 09:11:21 -08:00
Colin Snover 57db3f7535 SCI: Partially clean up SCI16 video playback code 2017-12-01 18:48:35 -06:00
Colin Snover 432fd522d2 ENGINES: Remove default1x scaler flag
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.
2017-10-07 12:30:29 -05:00
Colin Snover c7c5f28bdb SCI32: Clean up scriptWidth/scriptHeight/screenWidth/screenHeight
This removes the unnecessary Buffer subclass and stops most places
where the output buffer was being interrogated about dimensions
instead of GfxFrameout.
2017-10-06 22:56:26 -05:00
Colin Snover 6e35676a9e SCI32: Fix load from launcher for Lighthouse
Launcher loads of games without a saved Robot were fine, but games
that were saved with a Robot (e.g. room 480 when facing the water)
would crash.
2017-09-03 20:58:09 -05:00
Colin Snover 5c3a2cf16a SCI32: Add load from launcher support for Phant2
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.
2017-07-30 19:21:55 -05:00
Colin Snover 8cb35442c0 SCI32: Improve kShowMovieWin (AVI) rendering
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.
2017-07-06 19:12:38 -05:00
Colin Snover 168774c3c6 SCI32: Add kPlayVMD subop 27 (SetPlane)
Used by RAMA, when playing a video at the Hub Camp computer at the
beginning of the game (room 1004).
2017-04-23 13:07:25 -05:00
Colin Snover c8486395fa SCI: Clean up unnecessary delayed restore flags
_delayedRestoreGame is always set and cleared at the same time as
_delayedRestoreGameId, and _delayedRestoreFromLauncher is written
but never read.
2017-04-22 13:01:35 -05:00
Colin Snover 766d46153a SCI32: Implement known-used portions of kPlayDuck 2017-03-30 19:46:27 -05:00
Colin Snover 31daa956d6 SCI: Implement bounds-checked reads of game resources 2017-03-27 19:42:31 -05:00
Colin Snover 2eea7dc961 SCI32: Implement kPlayVMDIgnorePalettes
Used in Shivers room 35170 when pressing the play button.
2016-11-04 20:45:45 -05:00
Colin Snover 832979c2db SCI: Fix memory leak 2016-10-09 11:32:01 -05:00
Colin Snover 3f91726765 SCI32: Rewrite kArray & kString
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.
2016-09-29 19:39:16 -05:00
Colin Snover 3cf16c0a7f SCI32: Explicitly instantiate MIN/MAX templates 2016-09-29 19:39:16 -05:00
Colin Snover e55b774584 SCI32: Add kPlayVMDGetStatus kernel call
Used by Lighthouse.
2016-08-19 15:23:10 -05:00
Colin Snover 6708b58faf SCI: Remove references to SCI32 features from SCI16 video player 2016-08-19 15:23:10 -05:00
Colin Snover 0f2748b15a SCI32: Implement kRobot 2016-08-19 14:08:22 -05:00
Colin Snover ef2c44bf1f SCI32: Implement kShowMovie 2016-08-12 09:28:46 -05:00
Colin Snover 31f344079f SCI32: Temporarily revert kShowMovie due to buildbot failures
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.
2016-08-11 21:43:57 -05:00
Colin Snover 13297c1929 SCI32: Implement kShowMovie 2016-08-11 20:50:33 -05:00
Colin Snover 4dc3b046c3 SCI32: Fix kShowMovie calls crashing SCI32
This will all be overhauled in the future but for now it is best
not to crash when playing AVI/SEQ files.
2016-07-27 08:49:56 -05:00
Colin Snover 19f90177b7 SCI32: Clean up Video32/VMDPlayer 2016-07-10 10:18:30 -05:00
Colin Snover 4d91b458e5 SCI32: Implement kPlayVMD 2016-07-10 09:35:24 -05:00
Colin Snover aeee621e44 SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)
Graphics palette code was rewritten between SCI1 and SCI2, so
SCI32 palette engine code has been moved to a separate GfxPalette32
class.
2016-01-07 16:35:09 -06:00
Martin Kiewitz 0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- 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
2015-12-29 01:44:11 +01:00
Martin Kiewitz bfba28c335 SCI: implement delayed restore via ScummVM menu
will delay restoring a saved game until the next
 kGetEvent or kWait
also implement aborting playback for kPortrait
 and kShowMovie
2015-04-26 09:08:46 +02:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Johannes Schickel dbda889e63 SCI: Take advantage of Surface::getPixels. 2013-08-03 04:02:52 +02:00
Johannes Schickel dd67e9f099 SCI: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:33 +02:00
Johannes Schickel 89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Matthew Hoops 18823198ad VIDEO: Merge AdvancedVideoDecoder into VideoDecoder 2012-08-16 14:00:14 -04:00
Matthew Hoops 7294a1cbcf VIDEO: Remove the Coktel video code from using the VideoDecoder API
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.
2012-08-16 12:17:23 -04:00
Matthew Hoops 991710d0a1 VIDEO: Adapt QuickTimeDecoder to the AdvancedVideoDecoder API 2012-07-27 11:32:51 -04:00
Matthew Hoops d4231fda1c SCI: Rewrite RobotDecoder to use the AdvancedVideoDecoder API 2012-07-22 23:17:36 -04:00
Matthew Hoops 0f0c6f9354 VIDEO: Rewrite the AVI code to use AdvancedVideoDecoder
In addition to using the new API, it should theoretically support multiple audio and video tracks now but that has not been tested.
2012-07-22 14:13:20 -04:00
Matthew Hoops a12b3ea2dd SCI: Move the SEQ code to the new VideoDecoder API 2012-07-20 20:52:58 -04:00
Filippos Karapetis b2fb2730d6 SCI: Also set the filename of the videoState struct when playing AVIs 2012-07-08 22:01:15 +03:00
Willem Jan Palenstijn b091c0bd09 SCI: Remove unnecessary const-cast 2012-07-03 00:00:48 +02:00
Filippos Karapetis f06eb05e8c SCI: Implement kPlayVMD subop 23 (set palette range)
Fixes the wrong palette during video sequences in GK2 and the demo of RAMA
2012-06-23 21:45:18 +03:00
Johannes Schickel 4fb9bceabc Merge pull request #246 from lordhoto/osystem-void-buffers
OSYSTEM: Use void buffers for screen/overlay/mouse buffers and proper pitch values for overlay code
2012-06-20 08:02:26 -07:00
Filippos Karapetis 2b50824133 SCI: Add setter/getter methods to reg_t's
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)
2012-06-18 05:24:06 +03:00
Filippos Karapetis 3c04d333f2 SCI: Add a check for empty VMD file names 2012-06-18 05:24:04 +03:00
Johannes Schickel 084c1259fc SCI: Get rid of casts on OSystem::copyRectToScreen calls. 2012-06-16 02:39:00 +02:00
Filippos Karapetis f76c71d968 SCI: Add debug code to automatically skip robot videos 2012-06-13 12:26:48 +03:00
Filippos Karapetis 289e4e6cfb SCI: Duck videos are 16bpp, so we need to change the active pixel format 2011-10-18 03:24:46 +03:00