315 Commits

Author SHA1 Message Date
Travis Howell
95a52bf4b4 Fix compile
svn-id: r14898
2004-09-04 23:05:34 +00:00
Torbjörn Andersson
eff7b341d0 Fixed a glitch in the music fade-out code.
svn-id: r14888
2004-09-04 09:46:47 +00:00
Torbjörn Andersson
cb399b63d5 Added support for compressed music. I'm sure there are some glitches still
to fix, but it should work well enough for now.

In this rewrite of the music code, I removed the "save/restore music state"
function, since it just complicated things for a very small gain. It wasn't
in the original engine, and I added it just for the credits, so that the
previously playing music could be resumed afterwards. I might re-add it
later, but probably not.

svn-id: r14887
2004-09-04 09:27:17 +00:00
Torbjörn Andersson
4a6d5e4119 Cleanup. Removed the original DipMusic() code. If anyone wants to
implement it - personally I don't see the need - they can get it from CVS.

svn-id: r14819
2004-08-28 14:50:44 +00:00
Torbjörn Andersson
f004af9d4f Use the same code for opening the music clusters as for opening the speech
clusters. (No, that doesn't mean compressed music is support yet. This is
just a tiny little step closer.)

svn-id: r14794
2004-08-27 08:31:33 +00:00
Torbjörn Andersson
15fa71e1bf Explicitly cast value to uint32, since there was a report about compilation
problems. Perhaps this will fix it?

svn-id: r14762
2004-08-26 06:59:15 +00:00
Torbjörn Andersson
68acd13ad4 The original speech clusters are now decoded through a custom AudioStream
class, so they are handled the same way as the compressed clusters.

The next step will be to migrate the music playback to use the same class,
which means the fade-in/out logic needs to be separated from the decoding.
Once this is done, adding support for compressed music should be a piece of
cake.

svn-id: r14740
2004-08-25 06:55:15 +00:00
Torbjörn Andersson
44eca16eb6 Fixed the bug that caused Vorbis and FLAC to misbehave with compressed
speech. (Apparently it was just an accident that MP3 worked.)

Unfortunately I had to change the file format of the compressed files to
include both the compressed and uncompressed size, but since the tool to
create these files has only lived as an item in the patch tracker, no one
should have exptected it to be the final, working version, right? Right.

svn-id: r14698
2004-08-23 06:17:40 +00:00
Torbjörn Andersson
e00f9f4a97 Experimental (i.e. slightly broken) code for handling compressed speech.
The equally experimental compression tool is in patch #854561.

Support for compressed music will require some restructuring first.

svn-id: r14684
2004-08-22 14:28:11 +00:00
Torbjörn Andersson
bb62b07f4f Don't try to free text sprites with the memory manager - it uses standard
malloc() nowadays! (This only affected the "dummy" player.

svn-id: r14638
2004-08-17 13:52:18 +00:00
Torbjörn Andersson
2fedf7d285 I shouldn't be mixing cleanups and bug fixes, but I'm doing so anyway, just
this once. :-)

The parameters to drawLine() aren't clipped to the screen size, which meant
that it was accessing memory out of bounds when marking the screen as
dirty. The function now uses plotPoint(), which does the bounds checking
and screen dirtying for us. Apart from being a little easier to read, it
dirties only the parts of the screen the line actually passes through,
instead of a rectangle defined by the line's end points.

Since drawLine() is only used for debugging, I wouldn't consider this a
particularly serious bug.

Next change is that only the pixels inside the original parallax layer are
considered when creating the block surfaces. This may make the drawing
slightly more efficient, since fewer surfaces will be labelled as
transparent.

Plus some other minor cleanups.

svn-id: r14340
2004-07-26 16:41:57 +00:00
Torbjörn Andersson
f02a14427b Allowing both music streams to share the same rate converter only worked
by accident, and could cause bad noises during music cross-fades.

This wasn't a problem in 0.6.0 since all music is sampled at 22050 Hz,
which is the most likely output sample rate for ScummVM, so the converter
didn't actually have to do anything. Now, however, the output sample rate
could be anything.

I've given the music streams one converter each. In BS1, which uses similar
music code, it was already necessary to do this since some of its music is
sampled at 11025 Hz.

svn-id: r14237
2004-07-17 14:00:07 +00:00
Torbjörn Andersson
a7d7e6eb7a Itsy-bitsy cleanup.
svn-id: r13959
2004-06-17 06:46:18 +00:00
Torbjörn Andersson
e554f46f71 Cleanup
svn-id: r13956
2004-06-12 09:53:45 +00:00
Torbjörn Andersson
0426d38aa5 Cleaned up the palette handling a bit. Renamed _palCopy to _palette since I
found the old name misleading (there is only one array that stores the
palette in the engine, though it could be argued that it's a copy of the
one used by the backend), and removed some code that I'm almost certain was
never used. (I've added assert()s to trigger in the cases where it would
have been used.)

svn-id: r13949
2004-06-09 06:33:29 +00:00
Torbjörn Andersson
78404c30d4 Added comment.
svn-id: r13946
2004-06-07 05:57:00 +00:00
Torbjörn Andersson
c9c56d2f72 Cleaned up sprite scaling.
svn-id: r13944
2004-06-06 15:40:31 +00:00
Torbjörn Andersson
dac16f4f43 Cleanup
svn-id: r13933
2004-06-05 10:28:42 +00:00
Torbjörn Andersson
9e4c641de1 Forgot to remove this file when I changed input handling.
svn-id: r13813
2004-05-09 13:40:39 +00:00
Torbjörn Andersson
fc970b3c75 Removed the buffering of mouse and keyboard events. I don't think any of
our other engines do this, so there is little reason for BS2 to. I did add
a filtering mechanism so that mouse button releases and scroll wheeling is
ignored during normal gameplay, but I don't know if that was necessary
either.

Since this left little more than an empty husk where the Input class used
to be, I've eliminated that class and buried its remains in Sword2Engine.

svn-id: r13812
2004-05-09 13:32:04 +00:00
Torbjörn Andersson
577600537c When drawing lines and points, mark the corresponding screen area as dirty
so that it gets properly redrawn. Only the debugging code uses these
drawing primitives, so it's no big deal, but it's still the right thing to
do.

svn-id: r13811
2004-05-09 13:24:07 +00:00
Torbjörn Andersson
0600200980 Take advantage of the changes in the backend's mouse cursor handling. It
didn't do the change I was hoping for: the coyote stone is still partially
see-through, but perhaps it was in the original as well.

At least we no longer need to keep the buffer the mouse cursor is decoded
to, since that's now handled by the backend.

svn-id: r13782
2004-05-05 07:22:35 +00:00
Torbjörn Andersson
bc77ba431a Simplified the handling of sound effects. It's not necessary for the driver
to keep its own copy of the sound data. It could be even further simplified
(I don't really see any reason for having two different sound queues), but
I seem to have reached a point of stability here and I don't want to jinx
it by making further changes yet.

svn-id: r13705
2004-05-01 10:42:23 +00:00
Torbjörn Andersson
8f8185f035 Major revamping of the BS2 memory manager and, some small changes to the
resource manager. All new code! All new bugs!

svn-id: r13603
2004-04-23 07:02:11 +00:00
Torbjörn Andersson
489e473fca Cleanup.
svn-id: r13494
2004-04-07 12:31:32 +00:00
Torbjörn Andersson
6cb86c641f Make clearScene() set the _needFullRedraw variable.
I think the reason I didn't do this from the start was that BS2 used to
call clearScene(), or whatever the function was called back then, between
every frame. Nowadays, it simply assumes that each frame will cover the
previous one.

Anyway, this change prevents the restart/restore dialog from appearing
briefly between the two intro cutscene animations.

svn-id: r13421
2004-03-29 06:32:54 +00:00
Max Horn
14378cb56e Renamed more OSystem methods
svn-id: r13410
2004-03-28 16:30:50 +00:00
Torbjörn Andersson
d109cc1f98 Fixed bug I introduced in the recent cleanup: It's the screen, not the
overlay, that needs to be cleared at the beginning of the movie. Otherwise
what was on the screen may show at the end of the movie.

svn-id: r13398
2004-03-28 13:10:52 +00:00
Torbjörn Andersson
afefe7dcfa Use the binary .pal file format that was introduced for 0.6.0.
Invalidate the lookup table when the screen changes. (TODO: We also have to
invalidate it if the change happens between cutscenes, don't we?)

Some cleanup, particularly in the BS2 cutscene player. More needed, I
guess...

svn-id: r13377
2004-03-24 07:29:59 +00:00
Max Horn
3fddbc18d6 Unify MPEG2 code even more
svn-id: r13365
2004-03-23 00:10:18 +00:00
Max Horn
d24be923f3 share 'init' method, too
svn-id: r13361
2004-03-22 20:46:30 +00:00
Torbjörn Andersson
8f9ffdf43a Fix crash introduced by recent code unification. (Mind you, I'm still
extremely grateful that the BS1 and BS2 cutscene players are finally
sharing at least some of their code now.)

svn-id: r13360
2004-03-22 15:57:51 +00:00
Max Horn
838d3e3a93 some more cleanup
svn-id: r13359
2004-03-22 01:40:24 +00:00
Max Horn
4466a85598 move commong code into separate source file (more could be done, but it's a start)
svn-id: r13358
2004-03-22 01:28:45 +00:00
Max Horn
a9789acfc6 Moved Surface/Font code into new 'graphics' module
svn-id: r13357
2004-03-21 21:20:25 +00:00
Max Horn
b94448514e Unify a bit more...
svn-id: r13354
2004-03-21 18:49:04 +00:00
Max Horn
f8610cd1c5 fix doxygen-comment mistakes
svn-id: r13286
2004-03-15 00:55:44 +00:00
Torbjörn Andersson
0fc86ef674 Fixed a slight logic error in the music fading. At this point the code
should only check if the music is fading, not in which direction. (Also
made a minor cleanup.)

svn-id: r13235
2004-03-13 12:05:01 +00:00
Nicolas Bacca
9e1fa63575 Apply patch #907359 : Broken Sword videos improved frameskip
svn-id: r13180
2004-03-04 18:54:35 +00:00
James Brown
b77231a9a3 Fix from Roever for bug #892827
svn-id: r13107
2004-03-01 04:05:10 +00:00
Travis Howell
2f01efd9f3 Add fix for error at end of sword2demo (From eriktorbjorn)
Prevent false warnings in demo.

svn-id: r13102
2004-03-01 00:32:47 +00:00
Max Horn
c6752cccf5 renamed more OSystem methods to follow our naming scheme; renamed NewGuiColor to OverlayColor; fixed some calls to error() in the SDL backend
svn-id: r13087
2004-02-28 12:58:13 +00:00
Max Horn
d158280425 the OSystem changes we discussed on the ML (note: renaming of the existing OSystem API is not yet finished); porters will have to fix their ports to get them to compile again
svn-id: r13036
2004-02-24 22:39:42 +00:00
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