81 Commits

Author SHA1 Message Date
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
Max Horn
00b9bc7b36 Removing lots of superfluous semicola (see mail by David Weinehall on scummvm-devel)
svn-id: r26594
2007-04-25 19:31:23 +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
Torbjörn Andersson
333bac56c3 Added base class for the WAV and AIFF audio streams. It's the *Macintosh* demo
(and presumably the full game, as well) that uses AIFF music. My earlier commit
was a bit unclear about that.

svn-id: r26437
2007-04-09 15:50:20 +00:00
Torbjörn Andersson
a4fb87b987 Fixed crash when playing looping WAV music.
svn-id: r26425
2007-04-09 10:07:36 +00:00
Torbjörn Andersson
2d209264c9 Implemented enough of AIFF to play the music from the Broken Sword 1 demo. At
least as far as I tried it which, admittedly, wasn't very far.

svn-id: r26423
2007-04-09 09:58:41 +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
Gregory Montoir
5aca9dce8c added the instance of EventManager returned by OSystem::getEventManager as a member of the Engine base class. This allows to simply the code a bit and should more efficient too (ie. less virtual function chain calls, obj->getA()->getB()). Also updated several engines to make use of it.
svn-id: r26357
2007-04-01 17:36:13 +00:00
Robert Göffringmann
edd4e73787 minor cleanup
svn-id: r26212
2007-03-18 16:50:39 +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
Torbjörn Andersson
53624376b4 Applied my re-revised patch #1487149 ("Simplified keyboard repeat"), with
Fingolfin's blessings. Keyboard repeat is now handled by the event manager,
rather than by individual engines.

Since this can cause problems with some engines (see the AGI engine), the extra
"key down" events are marked as "synthetic", so that they can be ignored if
necessary.

svn-id: r26170
2007-03-17 15:44:26 +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
d6211151a9 Removed obsolete code
svn-id: r25946
2007-03-03 00:17:26 +00:00
Max Horn
4a1039fbc6 Updated the BS1 music code to use the new looping feature in our MP3/Ogg decoders
svn-id: r25943
2007-03-02 23:53:20 +00:00
Max Horn
45bf574928 Get rid of the last two usages of File::incRef/decRef
svn-id: r25919
2007-03-01 17:22:30 +00:00
Max Horn
8c8abca6f8 Changed the AppendableAudioStream code to use a queue of buffers, instead of a fixed size wrap-around memory buffer (this reduces memory usage in some cases by 500-700k, while actually being more flexible)
svn-id: r25909
2007-02-28 14:48:26 +00:00
Max Horn
551b2b6b3d Fix for bug #1670081 -- SWORD1: game won't load (ogg compression) (regression)
svn-id: r25905
2007-02-28 10:44:52 +00:00
Max Horn
dd26444b72 oops
svn-id: r25842
2007-02-25 00:09:22 +00:00
Max Horn
9823cbe1ea Added TODO: Sword1's MusicHandle::play etc. should be rewritten to take advantage of the enhanced compressed audio stream code
svn-id: r25841
2007-02-25 00:04:35 +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
Max Horn
b3931a847d Trying to unify the order in which we try the various audio formats: Prefer FLAC (lossless) over Ogg Vorbis ('free') over MP3 -- the order is admittedly somewhat arbitrary, but at least now it's consistent across all parts of ScummVM
svn-id: r25837
2007-02-24 23:40:28 +00:00
Max Horn
cafe61fec2 cleanup
svn-id: r25834
2007-02-24 23:15:39 +00:00
Max Horn
227a080e5b Patch #1663933 (Kill premix channel) with a few tiny additional tweaks by me
svn-id: r25752
2007-02-20 18:50:17 +00:00
Torbjörn Andersson
5478589937 Last batch of header consistency fixes. At least for the game engines.
svn-id: r25751
2007-02-20 18:04:13 +00:00
Max Horn
b8aeefaffb Added finalize() method to Common::OutSaveFile (which by default just flushes the stream), changed engines to call that before deleting OutSaveFile instances (instead of just flushing)
svn-id: r25660
2007-02-17 18:55:51 +00:00
Max Horn
73c3625f1f Fixing various doxygen warnings
svn-id: r25362
2007-02-03 21:37:52 +00:00
Max Horn
cb49cbdd45 * Reimplemented Mixer::pauseAll to simply invoke pause on all channels
(implying change of semantics)
* Reordered the params of Mixer::playRaw (the SoundType now comes first, not last)
* Removed Mixer::isPaused
* Removed Mixer::getSoundElapsedTimeOfSoundID
* Added some doxygen comments to the Mixer

svn-id: r25356
2007-02-03 19:05:53 +00:00
Eugene Sandulenko
cd8a5f3a98 First phase of detection-related plugins interface improvements. Now plugins
return StringMap instead of fixed list of parameters. This adds great
flexibility.

Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.

svn-id: r25134
2007-01-20 21:27:57 +00:00
Travis Howell
0141cbd1df GF_DEMO is only required by the PC version of Broken Sword 1 demo
svn-id: r24853
2006-12-15 00:59:11 +00:00
Eugene Sandulenko
3244d20ee2 Add proper detection of BS1 Mac demo. Game crashes at attempt to play speech.
svn-id: r24851
2006-12-14 21:23:24 +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
Eugene Sandulenko
3e6414a55f Slighty modified Patch #1571787: "Support for Mac Broken Sword 1". sword1macdemo
target was commented out until existence of the demo is confirmed.

svn-id: r24697
2006-11-12 19:05:51 +00:00
Max Horn
4c14cf6d1a Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle the linker dependency graph). Porters will have to update project files
svn-id: r23974
2006-09-23 00:42:35 +00:00
Torbjörn Andersson
3e8380f2c6 Only decompress the number of speech samples indicated by 'resSize'. This
prevents crashes in the demo, and is probably a good idea anyway.

svn-id: r23917
2006-09-17 15:25:59 +00:00
Max Horn
a2dc897fe5 Reduce code duplication
svn-id: r23888
2006-09-16 15:01:14 +00:00
Chris Apers
f34da528eb Fixed unaligned read (this fix a potential crash clicking on the Text option button)
svn-id: r23845
2006-09-09 13:57:20 +00:00
Torbjörn Andersson
3ce0b182f6 Initialise variable. Should fix Valgrind warning.
svn-id: r23838
2006-09-09 09:50:00 +00:00
Chris Apers
7efd027fed Fixed crashes on Zodiac and add support for this device
svn-id: r23837
2006-09-09 09:30:16 +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
8ae050ff08 Renamed graphics/animation.[cpp|h] to graphics/mpeg_player.[cpp|h] to be more
consistent with dxa_player.[cpp|h]. (Though actually, "decoder" might be more
accurate...)

svn-id: r23774
2006-08-27 09:10:24 +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
Max Horn
4a80db4c7b * Added copyright string to all engine plugins
* Modified about dialog to list all available plugins with their resp. copyright
* Modified about dialog credits to show the GPL last (like movie end credits do with their legal text, too)

svn-id: r23645
2006-07-31 13:41:21 +00:00
Torbjörn Andersson
c32076e5d0 Use #include "..." instead of #include <...> for pack-start.h and pack-end.h
for consistency with other #includes.

svn-id: r23585
2006-07-23 16:13:26 +00:00
Max Horn
2859b64702 Fix struct packing issues (macros are not resolve in #pragma params, at least for GCC)
svn-id: r23569
2006-07-22 17:28:48 +00:00
Johannes Schickel
412db86dcf Using FilesystemNode::name instead of FilesystemNode::displayName in the sword1 detector code too.
svn-id: r23556
2006-07-22 14:37:52 +00:00
Max Horn
f59cf1fcdc Removing GCC_PACK, we fully rely on START_PACK_STRUCTS / END_PACK_STRUCTS now (hiya eriktorbjorn, this one is for you *ggg*)
svn-id: r23547
2006-07-21 21:25:17 +00:00
Max Horn
f35f4a4d1c Use START_PACK_STRUCTS / END_PACK_STRUCTS when available, instead of checking for GCC / not GCC
svn-id: r23458
2006-07-09 13:01:15 +00:00