Commit Graph

135 Commits

Author SHA1 Message Date
Sven Hesse
8c3d2fc741 GOB: Add a way to reopen currently opened IMD/VMD videos
This is a workaround for how Lost in Time behaves in combination
with changes I made to the DataIO code for running Urban Runner
on low-memory devices.

Urban Runner's intro are far to big to have them copied into
memory for these devices, so I made the DataIO code return a
SafeSeekableSubReadStream into the opened archive stream instead.
Unfortunately, Lost in Time might not close a video file when it
closes the data file which it was originally in, especially when
loading a saved game. Since the video player needs to be able to
gaplessly continue a video and there does not, by itself, close
the video if not requested by the scripts, this leads to reading
out of an already closed stream in certain cases.

So, to worka round this issues, the video player tries to reopen
each currently opened video after a data archive was closed, to
make sure that that video is still available. If not, the video
is closed.
2012-06-07 00:29:46 +02:00
Johannes Schickel
44068338e5 GOB: Made some static data const. 2011-09-08 20:03:30 +02:00
Strangerke
b60a706751 JANITORIAL: Fix some formatting glitches in gob, hugo and toon 2011-09-08 07:55:40 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel
ca81ab1a4c GOB: Do not access Surface::bytesPerPixel anymore. 2011-04-17 20:56:16 +02:00
Max Horn
357c225f64 VIDEO: Rename VideoDecoder::load() to loadStream()
svn-id: r55810
2011-02-07 17:54:16 +00:00
Sven Hesse
fed0adacb7 GOB: Close the just ended live video, not the first one
svn-id: r55734
2011-02-02 17:03:14 +00:00
Sven Hesse
076b9c9e53 GOB: Remove the vidMode parameter from Video::initSurfDesc
svn-id: r55727
2011-02-02 16:48:04 +00:00
Torbjörn Andersson
128e36275d GOB: Remove unnecessary semicolon
svn-id: r55609
2011-01-29 09:56:23 +00:00
Sven Hesse
9eea8c6bca GOB: Wait for the exact moment of the video sound's end
This should fix all cut-off sound issues in Urban Runner

svn-id: r55503
2011-01-24 14:10:15 +00:00
Eugene Sandulenko
caa6684752 VIDEO: Move video classes to Video:: namespace
svn-id: r55479
2011-01-23 19:08:09 +00:00
Sven Hesse
ccd5129588 GOB: Pass engine pause to the VideoPlayer and decoders
Entering the GMM or the debug console during a video will not
mess up audio/video sync anymore.

svn-id: r55466
2011-01-23 15:33:30 +00:00
Sven Hesse
0722df9472 GOB: Hacking in multiple live videos
Needed for Bambou. The narrator voice and the "Do you want to quit?"
voices are live videos that should continue while the live video
buttons are playing.

svn-id: r55443
2011-01-22 19:28:23 +00:00
Sven Hesse
cbbafc962d GOB: Extend the good-measure wait to all videos with sound
Fixes a glitch in Bambou, where the intro movie is cut off to
soon.

svn-id: r55432
2011-01-22 16:29:54 +00:00
Sven Hesse
a8e6fa3346 GOB: Don't blit dirty rectangles while playing a live video
This fixes the inventory list flickering in live videos :)

svn-id: r55430
2011-01-22 15:39:52 +00:00
Sven Hesse
2bb8cf25df GOB: Force live videos onto the backSurface
Fixes some inventory list uglyness in live videos.
It still flickers when mousing over it though, and keeps popping
when mousing over the register during the hotel scene

svn-id: r55429
2011-01-22 15:06:12 +00:00
Sven Hesse
7c14cf2b1b GOB: Fix some of the live-video glitchyness
svn-id: r55421
2011-01-22 12:26:31 +00:00
Sven Hesse
6e254c4f01 GOB: Actually, startFrame == -2 seems to be the only live video flag
svn-id: r55418
2011-01-22 11:39:03 +00:00
Sven Hesse
d99ca6e58c GOB: Don't mess with the break key in Urban Runner
To be able ESC videos, you need to switch on ESC in the settings
in the right part of the menu, because the scripts needs to
trigger the drawing of the last frame of the ESC'd video.
Otherwise, the graphics e.g. stops mid-frame during a turn.

svn-id: r55407
2011-01-22 04:39:39 +00:00
Sven Hesse
bb6c230587 GOB: Implement looping live videos
Needed for the buttons in the Playtoons series

svn-id: r55359
2011-01-20 18:17:39 +00:00
Sven Hesse
715560edb9 GOB: Don't temper with the break key for live videos
svn-id: r55355
2011-01-20 17:06:50 +00:00
Sven Hesse
adf8820aee GOB: Make blocking videos default
svn-id: r55354
2011-01-20 15:29:32 +00:00
Sven Hesse
3976342ec0 GOB: Don't not play videos with only sound
svn-id: r55349
2011-01-20 12:28:46 +00:00
Sven Hesse
6e403b38ba GOB: Reverse-blit the final frame of a live video
Fixes some glitches at the end of live videos

svn-id: r55347
2011-01-20 10:21:27 +00:00
Sven Hesse
6b85f809d9 GOB: Urban: Fix missing visuals at Cemetary/Lab
Urban Runner decouples _frontSurface and
_spritesArray[kFrontSurface] at that screen... *sigh*

svn-id: r55346
2011-01-20 10:20:57 +00:00
Sven Hesse
bd3f9ad1e2 GOB: Use Surface::blit() in VideoPlayer::copyFrame()
svn-id: r55344
2011-01-20 05:19:41 +00:00
Sven Hesse
d77899e158 GOB: Make Urban Runner's "3D view" work again
svn-id: r55340
2011-01-20 03:22:43 +00:00
Sven Hesse
bad7f1ce9a GOB: Implement "live" (non-blocking) videos
Many thanks to SylvainTV. :)
Urban Runner might actually be completeable now.
One caveat: Hotspots at that hotel sequence are a bit glitchy...

svn-id: r55333
2011-01-19 18:57:43 +00:00
Sven Hesse
da65a3cbf3 GOB: Fix the flow rate gauge in Urban Runner
svn-id: r55275
2011-01-17 09:48:42 +00:00
Sven Hesse
68ebdf20d5 GOB: Don't clobber the global palette
svn-id: r55270
2011-01-16 22:28:20 +00:00
Sven Hesse
518e858d85 GOB: Allow true-color VMD cursors
svn-id: r55264
2011-01-16 16:30:15 +00:00
Sven Hesse
b451d3b51c GOB: Add the property switchColorMode
To allow the videoplayer (and ultimatively the demoplayer)
to switch color modes if necessary.

svn-id: r55262
2011-01-16 16:29:19 +00:00
Matthew Hoops
375f32fbe9 VIDEO: Make VideoDecoder::decodeNextFrame() return a const Surface pointer
svn-id: r54927
2010-12-16 01:35:13 +00:00
Max Horn
a0df86955f ALL: Push down deps on stream.h from .h to .cpp files
svn-id: r54358
2010-11-19 01:37:04 +00:00
Sven Hesse
16a3cc8a84 GOB: Clean up class DataIO
Removing the need for class DataStream and that handle mess.

svn-id: r53984
2010-10-31 20:07:14 +00:00
Sven Hesse
835455798f GOB: Remove the now useless helper.h
svn-id: r53491
2010-10-15 13:55:18 +00:00
Sven Hesse
51fd528fe5 GOB: Change all drawing to use class Surface
svn-id: r52947
2010-09-30 13:02:16 +00:00
Sven Hesse
1151676d82 VIDEO: Use proper palettes in CoktelDecoder
Not just the 6 bits per color component used in VGA

svn-id: r51921
2010-08-08 01:08:17 +00:00
Sven Hesse
dc3a417699 VIDEO: Change the mixer parameter from a reference to a pointer
To match the other VideoDecoder classes with sound support.

svn-id: r51919
2010-08-08 01:07:17 +00:00
Sven Hesse
f7c23d28e7 GOB: Reactivate the Coh-Cott-workaround
svn-id: r51918
2010-08-08 01:06:44 +00:00
Sven Hesse
a78ddb8488 GOB: Handle VMD subtitles again
svn-id: r51916
2010-08-08 01:05:46 +00:00
Sven Hesse
f40b128bd9 GOB: Partly fixing VMD slot playing
svn-id: r51913
2010-08-08 01:04:19 +00:00
Sven Hesse
cebc1aca81 GOB: Fix playing of slot videos
The actual frame content is still not there, though :P

svn-id: r51911
2010-08-08 01:03:21 +00:00
Sven Hesse
5dc322454d GOB: Fix playing of sound VMDs with a starting frame != 0
svn-id: r51910
2010-08-08 01:02:49 +00:00
Sven Hesse
945103a43c VIDEO/GOB: Implement and use CoktelDecoder::getFrameCoords()
svn-id: r51909
2010-08-08 01:02:19 +00:00
Sven Hesse
f447ddb36a VIDEO: Fix compilation after the VideoDecoder::load signature change in r51725
svn-id: r51900
2010-08-08 00:58:00 +00:00
Sven Hesse
1f63009426 VIDEO/GOB: Stubb VMDDecoder
svn-id: r51896
2010-08-08 00:56:04 +00:00
Sven Hesse
bab55f3a1d GOB: Adapt the remaining bits to the new VideoPlayer interface
svn-id: r51895
2010-08-08 00:55:27 +00:00
Sven Hesse
424e802bb9 GOB: Add copyFrame
svn-id: r51893
2010-08-08 00:54:24 +00:00
Sven Hesse
f61a3c5315 GOB: Fix videos with the kNoVideo flag
svn-id: r51887
2010-08-08 00:52:01 +00:00