Commit Graph

52 Commits

Author SHA1 Message Date
Filippos Karapetis
6ec870303f - Reverted commit #40730, as it introduced rounding errors
- Properly fixed the FLIC player
- The sound chunk tag of DXA files is now read by the DXADecoder's loadFile() method

svn-id: r40736
2009-05-20 10:43:18 +00:00
Filippos Karapetis
e358b13ef9 Changed calculations based on frame delay to be based on the scale of 1ms, not 1/100. This fixes the FLIC player and also makes the overall code a bit clearer and easier to understand
svn-id: r40730
2009-05-19 19:56:53 +00:00
Max Horn
e080a59337 Renamed SMKPlayer -> SmackerDecoder and DXAPlayer -> DXADecoder, as well as some other tweaks
svn-id: r39255
2009-03-09 03:45:23 +00:00
Max Horn
f9ecd95d69 Whitespace cleanup: Convert space followed by tab to just tab
svn-id: r39203
2009-03-07 19:24:31 +00:00
Torbjörn Andersson
ab11da0602 Allocate the background sound handle dynamically. Otherwise, it seems to me as if
it should be invalid as soon as the makeMoviePlayer() function ends. While that
never caused any noticeable problems for me in Broken Sword 1, it broke things
in amusing ways when I tried to rewrite the Broken Sword 2 cutscene player along
the same lines.

svn-id: r38684
2009-02-21 11:27:04 +00:00
Torbjörn Andersson
c3068549da Cleanup.
svn-id: r38680
2009-02-21 11:22:56 +00:00
Torbjörn Andersson
9b2029a7a8 Minor consistency change.
svn-id: r38650
2009-02-20 23:47:11 +00:00
Torbjörn Andersson
dbb8ad9da1 If the DXA cutscene audio fails to play for whatever reason (shouldn't happen in
BS1 since all the cutscenes have an audio track), assume audio and video are in
sync.

svn-id: r38384
2009-02-16 21:57:22 +00:00
Torbjörn Andersson
de0c772a01 Blank the palette correctly. (Fixes Valgrind warning.)
svn-id: r38343
2009-02-16 06:02:21 +00:00
Filippos Karapetis
2ef26fcd4a Oops, fixed Smacker video playing in BS1
svn-id: r38237
2009-02-15 13:43:44 +00:00
Filippos Karapetis
781d7da6b1 Applied my patch for the BS1/2 video player
- Support for the MPEG2 videos in BS1/2 has been dropped. The MPEG2 videos were lossy, and support for them complicated the code a lot.
- Support for the non-existing enhanced MPEG cutscene packs for BS1 has been dropped. As a consequence, the credits player and the splitted audio stream players used for these packs has been removed
- The original Smacker videos for both games are now supported, using our Smacker player (which is based off publically available specs and FFMPEG)
- The animations now use the common video player code. Both the Smacker videos and our DXA video packs are supported

svn-id: r38236
2009-02-15 13:29:48 +00:00
Torbjörn Andersson
6d70045228 Fixed bug #2599531 ("SWORD1: truck.dxa plays striped"). The last parameter to
copyFrameToBuffer() is the pitch of the destination buffer, not the frame.

svn-id: r36330
2009-02-14 15:52:31 +00:00
Max Horn
abc06ca18e Moved Graphics::PixelFormat into its own header file; turned RGBToColor etc. into methods, and added an operator==
svn-id: r35993
2009-01-22 04:35:10 +00:00
Filippos Karapetis
4b24b4d06f Updated SWORD1 with the latest changes to video players
svn-id: r35760
2009-01-06 17:49:41 +00:00
Travis Howell
9c20a533bb Enable Smacker support, and switch later HE games to Smacker support (since they aren't supported yet).
svn-id: r35368
2008-12-14 23:41:48 +00:00
Johannes Schickel
3bdef4f9a2 Fixed compilation.
svn-id: r35200
2008-12-01 21:35:17 +00:00
Max Horn
4b7d455580 Got rid of Stream::readLine_OLD calls in two places (mostly untested, please check/test for regressions)
svn-id: r35198
2008-12-01 21:13:02 +00:00
Torbjörn Andersson
72a847797d Committed by patch #2219361 ("BS1: Simplified subtitles"). It uses the
lockScreen() / unlockScreen() backend API, instead of copyRectToScreen().
Before, it had to copy a piece of the engine's screen to draw on to simulate
transparency, which was awkward.

However, this means we're now forcing full-screen updates on each frame. There
may be performance regressions, particularly if the frames are much smaller
than the screen. Hopefully, it's the decoding that's the bottleneck, but if
this causes problems on low-end devices... well, Fingolfin had some ideas about
that when he first proposed the lockScreen() / unlockScreen() API.

svn-id: r35115
2008-11-18 17:48:19 +00:00
Max Horn
edf9f24926 Got rid of OSystem::colorToRGB and RGBToColor; added implementations for OSystem::getOverlayFormat to several ports (pending testing by the porters)
svn-id: r34912
2008-11-06 15:02:50 +00:00
Torbjörn Andersson
c2066b9c20 Fixed crash after using cutscene subtitles. (Now I *know* no one has used that
feature before. :-)

svn-id: r34796
2008-10-13 18:41:12 +00:00
Torbjörn Andersson
4cd3adb690 Increased maximum subtitle line length for SimSaw. That code really should be
made more robust some day, but until now I don't think anyone actually used it.

svn-id: r34787
2008-10-12 22:14:30 +00:00
Max Horn
9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Torbjörn Andersson
3779fc2170 Slight simplification of last commit.
svn-id: r34658
2008-09-27 17:51:22 +00:00
Torbjörn Andersson
46a5320f0d Allow quitting or returning to the launcher while cutscenes are playing.
svn-id: r34657
2008-09-27 17:47:22 +00:00
Torbjörn Andersson
7644ff05f9 Fixed typos.
svn-id: r34656
2008-09-27 17:25:40 +00:00
Max Horn
57e724bfc3 Renamed SeekableReadStream::readLine to SeekableReadStream::readLine_OLD; added a new alternate SeekableReadStream::readLine() instead
svn-id: r34315
2008-09-03 17:53:25 +00:00
Christopher Page
0175425109 Overlooked something in SWORD1, works now
svn-id: r33045
2008-07-13 22:08:58 +00:00
Travis Howell
9aa0a47846 Revert patch #1709219 - DXA Player: double size scaling option.
svn-id: r29351
2007-11-01 06:00:16 +00:00
Eugene Sandulenko
3318c4b474 Slighly modified patch #1709219: "DXA Player: double size scaling option"
svn-id: r29347
2007-10-31 21:37:40 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Torbjörn Andersson
e42da8f24c Use KEYCODE constants.
svn-id: r27600
2007-06-22 09:27:13 +00:00
Travis Howell
12c9fb0382 Add support for pausing/resume cutscenes shown on the OmniTV in The Feeble Files.
svn-id: r27371
2007-06-12 06:08:47 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Torbjörn Andersson
c750bea0dd Fixed error in subtitle drawing. (This part of the code should still be cleaned
up, as it's badly written. I should know, I wrote it.)

svn-id: r26877
2007-05-19 20:44:18 +00:00
Torbjörn Andersson
e005b0f42e This is an updated and slightly cleaned up version of patch #1657061 ("SWORD1:
Cutscene subtitles"). It still has the deficiencies listen in the patch tracker
and should therefore be considered work-in-progress, but sev said I should go
ahead and commit it anyway. I have no further plans for it right now, so feel
free to improve on it.

svn-id: r26644
2007-04-28 07:27:53 +00:00
Torbjörn Andersson
4b4d7dec8e I must have accidentally broken frame skipping when I added DXA playback. Made
frame skipping actually skip the updateScreen() call.

svn-id: r26469
2007-04-14 14:07:11 +00:00
Max Horn
1cf48cf17d Changed _sys -> _system, matching (almost?) all other cases where we have an OSystem* member var
svn-id: r26359
2007-04-01 18:05:11 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Max Horn
15d9bc42ea Force all code to use EventManager::pollEvent instead of OSystem::pollEvent
svn-id: r26156
2007-03-17 00:53:21 +00:00
Max Horn
dd26444b72 oops
svn-id: r25842
2007-02-25 00:09:22 +00:00
Max Horn
21b095ce20 Switch to the new makeVorbisStream variant (and get rid of a File::decRef call)
svn-id: r25840
2007-02-25 00:03:47 +00:00
Torbjörn Andersson
45886ec8ed When drawing an interlaced frame, only clear every other line instead of the
entire buffer.

Introduced a _drawBuffer pointer which points either to _scaledBuffer or
_frameBuffer1. That way, we don't need to copy _frameBuffer1 every time we
draw an unscaled frame. (Probably the most common case by far.)

Adjusted the Broken Sword 1 DXA player for the second change. (It sneakily
avoids copying each frame by using _drawBuffer directly.)

svn-id: r24846
2006-12-14 05:21:19 +00:00
Travis Howell
1ba6947440 Adjust DXA scaling code for Broken Sword 1
svn-id: r24841
2006-12-11 09:26:54 +00:00
Torbjörn Andersson
49d1056c30 Only clear the part of the screen usually controlled by the Screen class. The
buffer might not be large enough to cover the menu areas, and they will
probably be clear already.

Only terminate the loop, not the entire function, when pressing Esc during a
cutscene. Otherwise, there may be palette glitches.

svn-id: r23790
2006-08-28 04:53:21 +00:00
Torbjörn Andersson
72e01a3aa3 Forgot to close the DXA file.
svn-id: r23775
2006-08-27 10:40:09 +00:00
Torbjörn Andersson
cc3b4cdf99 Now that the cutscene handling in both BS1 and BS2 has been extended to play
DXA movies (the MPEG movies still work, of course), there is no longer any need
for the MPEG decoder to handle sound and frame syncing. That is now the
responsibility of the player, not the decoder.

The obvious next step, then, would be to put that in a new player class, and
have both BS1 and BS2 use that. Maybe FF as well.

svn-id: r23757
2006-08-26 12:29:00 +00:00
Torbjörn Andersson
ca387f1585 Added support for DXA cutscenes. Still needs a bit of cleanup, and the DCA
player does not support the (unreleased) multi-lingual cutscene pack, since I
don't have one to test with.

It needs to be cleaned up a bit, but the next step will be to clean up the MPEG
decoder first.

svn-id: r23753
2006-08-26 11:34:35 +00:00
Torbjörn Andersson
e563d0c182 Renamed screenChanged() to handleScreenChanged().
svn-id: r22518
2006-05-18 13:58:33 +00:00
Torbjörn Andersson
5c1f91eed4 Allow changing scaler while playing MPEG cutscenes.
svn-id: r22515
2006-05-18 13:18:02 +00:00
Eugene Sandulenko
14ec3f45fa - Heavily modified patch #1214784: "Disable overlay scaling"
- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
2006-05-17 23:52:45 +00:00