Commit Graph

62 Commits

Author SHA1 Message Date
Bastien Bouclet
553d2968bb SCI: Add override keywords 2020-02-09 12:43:16 +01:00
sluicebox
2486824e3c SCI32: Detect Robot file endianness 2020-02-08 13:29:13 -08:00
Jean-Christophe Rona
a29254dda2 SCI: Fix out of bounds issue in getFrameSize
If there is no item at all, returns a (0,0,0,0) Rect.
2019-02-08 02:41:26 +02:00
Lars Skovlund
9ceb2e8586 SCI: Fix Robot bounding box calculation
Fixes bug #10700, at least partially.
2018-12-25 03:33:47 +01: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
ce13b1699a SCI32: Clean up Robot decoder
* Rewrap comments to 80 columns
* Clarify comments where possible
* Remove resolved TODOs
2017-10-06 22:56:25 -05:00
Colin Snover
a51fb1f3b6 SCI32: Fix missing transparency in RAMA title screen 2017-10-01 23:08:00 -05:00
Colin Snover
eba9526fdd SCI32: Remove never-read default values 2017-09-19 19:54:30 -05:00
Colin Snover
be64c6ba8b SCI32: Fix closing a Robot when its Plane has been destroyed already
This can happen during game restores in at least Lighthouse, which
has a Robot on the menu screen whose plane is deleted prior to
a call to kRestoreGame32 (which closes the Robot).
2017-09-03 20:58:09 -05:00
Colin Snover
3874f454e0 SCI32: Always initialize RobotDecoder::_syncFrame
This flag previously was only being initialized in Robot files
with audio. This means the flag was incorrectly carried to
Robots without audio, and if the first Robot played by the game
had no audio, it would be a garbage read. (This latter thing
happens at the beginning of Lighthouse.)
2017-08-04 13:30:02 -05:00
Colin Snover
36cb241b8e SCI32: Remove unused code branch 2017-04-23 13:07:25 -05:00
Colin Snover
f3db412d6f SCI32: Serialize Robots in SCI3
This is necessary for at least Lighthouse, which maintains the
state of Robots across save games.
2017-04-23 13:07:25 -05:00
Colin Snover
092a809c78 SCI32: Fix bad interpolation of Robot audio samples
Previously, this code was interpolating samples if the previous
block had missing samples, instead of interpolating when samples
are missing in the upcoming block of samples.
2017-04-22 19:38:12 -05:00
Colin Snover
5231541e7c SCI32: Add and divide instead of performing two divisions
This should make things trivially faster, and matches more
accurately how the original engine worked.
2017-04-22 19:38:12 -05:00
Colin Snover
63ad0a6715 SCI32: Fix null references in Robot decoder
Failing to reduce the size of the ScreenItem arrays causes other
parts of the decoder (like RobotDecoder::getFrameSize) to try
reading ScreenItems that were already destroyed and nulled out in
the list. (In SSCI, the screen item count was held in a separate
property instead of being part of the screen item list.)
2017-01-11 11:13:44 -06:00
Colin Snover
8987d9a889 SCI32: Enable playback of stereo audio 2017-01-09 19:34:54 -06:00
Colin Snover
40444b0aeb SCI32: Clarify some identifiers
transparentColor -> skipColor
displace -> origin
scaledWidth -> xResolution
scaledHeight -> yResolution
2016-10-09 11:21:46 -05:00
Colin Snover
2a27f27bb4 SCI32: Clean up scaling flags 2016-09-29 19:39:16 -05:00
Filippos Karapetis
b3e24c2518 SCI32: Remove the warning about already opened robot files
This happens all the time in Phantasmagoria, with no ill side-effects
2016-08-25 17:02:22 +03:00
Filippos Karapetis
2a75e90ba2 SCI32: Document the games that use Robot videos 2016-08-22 20:11:34 +03:00
Colin Snover
0f2748b15a SCI32: Implement kRobot 2016-08-19 14:08:22 -05:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
d92006188e SCI: Skip some still unsupported robot files in RAMA 2014-02-17 11:47:16 +02: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
d4231fda1c SCI: Rewrite RobotDecoder to use the AdvancedVideoDecoder API 2012-07-22 23:17:36 -04:00
Matthew Hoops
7654b20362 VIDEO: Merge the three Fixed* VideoTrack classes
Avoids diamond inheritance, which makes it impossible to downcast without rtti
2012-07-22 14:11:11 -04:00
Matthew Hoops
e74c306a7f SCI: Switch SEQDecoder to using the new FixedDurationVideoTrack subclass 2012-07-21 14:43:08 -04:00
Matthew Hoops
fb1edcd4fe VIDEO: Add getWidth()/getHeight()/getPixelFormat() functions to VideoTrack
The default implementations of those functions in AdvancedVideoDecoder now call into them.
2012-07-21 12:40:16 -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
8666a0528f SCI: Also skip a robot video in the Lighthouse demo 2012-06-15 22:32:16 +03:00
Filippos Karapetis
23ed0f1dc8 SCI: Skip playing of the unsupported robot video 1003 in RAMA 2012-06-15 12:24:20 +03:00
Matthew Hoops
10f7e805c2 VIDEO: Add volume/balance control to VideoDecoder 2012-05-28 14:00:16 -04:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Johannes Schickel
5af4b64c29 SCI: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:30:47 +02:00
md5
f890c1b6ed SCI: Fixed video playing in the PQ:SWAT demo 2011-02-24 21:27:30 +02:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Filippos Karapetis
72a9706950 SCI: Some work on robot videos
- The size of the videos is now calculated when they are loaded (this helps remove some
nasty hacks and constant memory reallocations and simplifies the code)
- Some work on frame placement (e.g. in robot 1305, Phantasmagoria)

svn-id: r55830
2011-02-08 19:50:45 +00:00
Matthew Hoops
92d09d236e SCI: Fix Mac robot palettes again
My fix from r55796/r55797 was erroneously removed in r55801.

svn-id: r55824
2011-02-08 05:39:50 +00:00
Max Horn
357c225f64 VIDEO: Rename VideoDecoder::load() to loadStream()
svn-id: r55810
2011-02-07 17:54:16 +00:00
Filippos Karapetis
a0c0331bcd SCI: Unified the SEQ and robot palette code, and fixed the include safeguard of the SEQ decoder
svn-id: r55803
2011-02-07 13:49:03 +00:00
Filippos Karapetis
6f9ac84f77 SCI: Converted the robot decoder into a regular video decoder, and decoupled it from the
SciEngine class

- Robot videos are now shown in frameOut(), like they should, and kRobot(sync) is only
used for syncing with the game scripts
- Hooked video playing into the "play_video" console command

svn-id: r55801
2011-02-07 12:24:09 +00:00
Eugene Sandulenko
caa6684752 VIDEO: Move video classes to Video:: namespace
svn-id: r55479
2011-01-23 19:08:09 +00:00
Eugene Sandulenko
806ccf5d25 GRAPHICS: Move graphics/video/ to video/. Step 1/2
svn-id: r55473
2011-01-23 17:14:43 +00:00
Matthew Hoops
1ead0d8436 VIDEO: Make VideoDecoder::getPalette() return a const byte pointer
svn-id: r54928
2010-12-16 01:41:11 +00:00