272 Commits

Author SHA1 Message Date
Nicolas Bacca
e469cd43a7 Avoid deadlock in MPEG-2 cutscenes + slow devices
svn-id: r12996
2004-02-22 18:13:54 +00:00
Max Horn
aa6ec62e9d Patch #885904 (Flac Support) with some tweaks by me
svn-id: r12984
2004-02-22 14:11:16 +00:00
Max Horn
1d7eafe675 unified code a little
svn-id: r12974
2004-02-21 20:00:51 +00:00
Torbjörn Andersson
55556c813c Proper handling of BS2 cutscene lead-outs, plus some other minor fixes.
svn-id: r12907
2004-02-15 14:22:54 +00:00
Torbjörn Andersson
7d9105b7ba Paint the overlay black at the end of the movie. Not all movies fade out on
their own, and sometimes the cutscene player will have to wait for the lead
out to finish before returning to the game. (This will probably be true
even after we fix the timing of the lead-outs.)

svn-id: r12871
2004-02-14 10:37:21 +00:00
Nicolas Bacca
3c6114bd9c Check for MP3 file in Broken Sword cutscenes - useful for WinCE backend as Tremor crashes for no specific reason (help appreciated :p) here
svn-id: r12837
2004-02-13 00:54:58 +00:00
Torbjörn Andersson
5447cd09b5 Changed the playback code to use the new "elapsed time" function instead.
This fixes bug #880484 for me, but may need some fine-tuning.

svn-id: r12830
2004-02-12 16:55:18 +00:00
Travis Howell
a745b3a7d0 More cutscene fixes from roever
svn-id: r12773
2004-02-08 14:02:43 +00:00
James Brown
91f201af29 Patch #874510 from roever, fixes BS2 demo cutscene problems (bug #884568)
svn-id: r12761
2004-02-07 15:09:13 +00:00
Torbjörn Andersson
802a301a16 Removed some of the #includes from sword2.h
svn-id: r12739
2004-02-05 14:19:07 +00:00
Max Horn
2f8d19d004 avoid using huge static structs - they can't be stripped, and increase the exe size (in this case, 16 MB...)
svn-id: r12678
2004-01-30 20:57:23 +00:00
Max Horn
4dab40f123 fix whitespaces (we should eventually try to remove this code duplication again, folks. maybe add a 'video' global module or so...)
svn-id: r12676
2004-01-30 20:47:21 +00:00
Max Horn
176aa74827 Renamed the 'pan' effect of the mixer to 'balance', since that is what we actually do; applied patch #886786 which corrects a bug in the balance code
svn-id: r12665
2004-01-29 18:15:27 +00:00
Max Horn
90b96a94ab whitespaces
svn-id: r12575
2004-01-22 21:02:29 +00:00
Torbjörn Andersson
255e1f9036 Some minor cleanups (comments and spacing), and fixed CPU usage in synced
cutscene playback.

svn-id: r12536
2004-01-20 13:26:00 +00:00
Torbjörn Andersson
4b9602615c This should make subtitles work again in "overlay" cutscene mode.
svn-id: r12506
2004-01-18 21:09:57 +00:00
Torbjörn Andersson
4ff60e231d I know we're not supposed to make cleanup commits at this point, but surely
we can make an exception for removing self-described hacks and utterly
misleading comments? :-)

svn-id: r12497
2004-01-18 19:50:59 +00:00
James Brown
5a4c5e1485 Don't allow overlapping voice in cutscenes. Fixes crash in carib cutscene.
svn-id: r12474
2004-01-18 12:07:21 +00:00
James Brown
ad46828d1c BS1 cutscene support. Also bugfixes (don't crash if cutscene ogg unavailable)
svn-id: r12465
2004-01-18 05:52:04 +00:00
James Brown
04f2bc0276 Update BS2 cutscene player with changes from roever: overlay support (default, 8bit backends should define BACKEND_8BIT for fast colour remapping) and sound syncronisation.
svn-id: r12456
2004-01-17 14:20:32 +00:00
Paweł Kołodziejski
4270eebbb4 fix compilation for msvc when libmpeg2 enabled
svn-id: r12447
2004-01-17 09:15:42 +00:00
Torbjörn Andersson
673862dbfd Made a separate function out of the code that retrieves information about
an in-memory WAV file. At the moment it's only used in one place, which is
a bit silly, but I hope to use it for the cutscene player to figure out
when to start the lead-out music.

(To do that I'll need to know how long the cutscene is, though. I haven't
looked into how to find that out yet.)

svn-id: r12424
2004-01-16 08:16:23 +00:00
Torbjörn Andersson
4980331ecf I accidentally introduced a bug when I changed the fading that would cause
fading-up music to distort and eventually deteriorate into white noise.

This was because I allowed _fade to be set on channels that weren't playing
and because I only checked _fade for equality when deciding when to stop
the fading. It should work much better now, I think.

svn-id: r12392
2004-01-14 18:33:30 +00:00
Torbjörn Andersson
f75c122b94 Increased the delay I added to interpolation frames from 0 to 10. This will
probably make the scrolling less smooth (I don't yet know how much), but it
does seem to fix bug #875683.

svn-id: r12381
2004-01-14 10:58:09 +00:00
Torbjörn Andersson
15738c13d3 I wanted to Valgrind the cutscene code, so I had to fix the warnings about
uninitialized values. Now the only warnings I got were from libmpeg2
itself, and I don't know how serious that is.

I've also added some code - disabled by default - to allow the cutscenes to
run with libmpeg 0.3.1, since that's what I've got on my Linux box. It
appears to work on that one, though I only have the "eye" cutscene on it
yet.

Ogg Vorbis playback is still broken for me under Windows, though. I wonder
if it is because I don't have the very latest Ogg Vorbis libraries on it
(since I didn't manage to compile them under MinGW). But surely the file
format hasn't changed in any important way...?

svn-id: r12374
2004-01-14 08:14:25 +00:00
Torbjörn Andersson
b17d77eae9 Changed the music fading so that volume is increased when ABS(_fading)
grows larger, both when fading up or down. This fixes the problem where the
volume would "jump" when changing the fading "direction" of a stream.

Also changed the logic for deciding which music stream to stop if both
streams are playing and a third stream is started. Before it always tried
to pick the one that was fading down. Now it will pick the one with the
lowest volume, assuming that the more faded a stream is the lower its
volume.

Together, this should fix some abrupt music changes at the watchman's hut,
where it would sometimes start two music streams in rapid succession.

svn-id: r12372
2004-01-14 08:06:56 +00:00
Max Horn
c39aa04c31 cut down pointless header interdependencies
svn-id: r12360
2004-01-13 14:22:29 +00:00
Max Horn
34960cf375 Moved some methods into class AnimationState (where they really belong - nicely shown by the fact that now all member vars of AnimationState are private)
svn-id: r12359
2004-01-13 14:16:40 +00:00
Torbjörn Andersson
dca14d9532 Some more formatting cleanups. Made the Ogg file handle part of the
animation state so that it can be deleted in doneAnimation().

svn-id: r12358
2004-01-13 13:12:40 +00:00
Torbjörn Andersson
13481b82c4 As an experiment, I've added a delay of 0 milliseconds when drawing
interpolation frames. It shouldn't delay anything, but I'm hoping it will
allow the other threads some breathing room, which might help bug #875683.

Or not. We'll see.

svn-id: r12357
2004-01-13 10:27:13 +00:00
Torbjörn Andersson
8a66ba33cf Moved the rest of the MoviePlayer class into animation.cpp/.h, plus some
minor cleanups. (Mostly spacing and indentation).

Unfortunately the Ogg Vorbis playback causes ScummVM to crash for me, so I
can't say for certain that I didn't break anything.

svn-id: r12356
2004-01-13 10:09:53 +00:00
Max Horn
b04dac03f2 added legal header; fixed incorrect fscanf use; C++ification (the code still is quite Cish, though :-)
svn-id: r12351
2004-01-13 01:26:18 +00:00
Travis Howell
9471d58720 Add mpeg2 option to mingw makefile
Fix compile on mingw

svn-id: r12350
2004-01-12 23:41:05 +00:00
Paweł Kołodziejski
b8e3dda84c - whitespaces
- fix for compilation at MAX, at include types
- changed to our types

svn-id: r12344
2004-01-12 19:08:04 +00:00
Torbjörn Andersson
cc67c13711 Don't hog the CPU when playing cutscenes.
svn-id: r12342
2004-01-12 16:36:01 +00:00
James Brown
a685422a13 Initial libmpeg2 cutscene support based on patch #874510.
Pre-converted cutscenes w/ palette files available - ask LeChuck about Cutscenes :)

svn-id: r12338
2004-01-12 11:11:19 +00:00
Torbjörn Andersson
c75f5efd2f Sync the credits so that the text scroll and music will last for about the
same amount of time. I don't think the original did this, but it turned out
to be pretty easy.

svn-id: r12334
2004-01-12 08:01:25 +00:00
Torbjörn Andersson
7309705db5 cleanup
svn-id: r12322
2004-01-11 16:53:33 +00:00
Torbjörn Andersson
58c46a2b92 Fix a harmless clipping bug (block surfaces were drawn even when their
width or height was 0), and use consistent naming for clip rect parameters.

svn-id: r12272
2004-01-09 07:53:08 +00:00
Torbjörn Andersson
12cd552cab Allow quitting during cutscenes and credits again. This is getting a bit
hackish...

svn-id: r12247
2004-01-08 13:03:50 +00:00
Torbjörn Andersson
6d0dd6aee8 Valgrind fixes. Mostly about memory not being freed when the engine is
deleted.

svn-id: r12211
2004-01-07 07:42:00 +00:00
Torbjörn Andersson
065f2bb9eb It's a new year in BS2 land, too!
svn-id: r12181
2004-01-06 13:44:17 +00:00
Torbjörn Andersson
8a91ae3257 Adapted LavosSpawn's idea for more efficient screen updating. It still
renders the entire screen every frame, but it tries to update (i.e. copy to
the backend) only the parts of the screen that actually changed. At least
approximately so.

svn-id: r12142
2004-01-04 15:11:30 +00:00
Torbjörn Andersson
5607f41e2d Some cleanup and Valgrind warning fixes.
svn-id: r12141
2004-01-04 15:05:54 +00:00
Max Horn
cf6a5c0a04 cleanup
svn-id: r12116
2004-01-03 19:12:23 +00:00
Max Horn
ee3558b748 fix for BE systems
svn-id: r12115
2004-01-03 19:02:18 +00:00
Max Horn
bfea71b0c4 renamed AudioInputStream -> AudioStream
svn-id: r12110
2004-01-03 14:10:13 +00:00
Torbjörn Andersson
bb8ff0cd90 Made the music code more like the one in BS1, i.e. the fade time is longer
and it now fades both up and down.

Plenty of cleanups, simplifications and just moving code around to group it
in what I hope is a more logical fashion.

Fixed a long-standing bug where spot effects would eventually use up all
available sound effect handles. (I may have introduced this when I removed
the expiration of sound effects from FxServer().)

svn-id: r12108
2004-01-03 11:24:39 +00:00
Torbjörn Andersson
033a847e77 Oops, that was the wrong data type. (Not that it should matter, but...)
svn-id: r12069
2004-01-01 15:15:47 +00:00
Torbjörn Andersson
2687402c6b oops, forgot one case
svn-id: r12056
2003-12-31 14:10:42 +00:00