73 Commits

Author SHA1 Message Date
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
Max Horn
9a955180a4 * Renamed config.mak to config.mk
* Renamed common.rules to rules.mk
* Removed explicit declaration of MODULE_DIRS in various spots (instead we let rules.mk compute it)

svn-id: r23275
2006-06-24 08:48:11 +00:00
Max Horn
d210b19aec Move backends/fs/fs.h and .cpp to common/fs/fs.h and .cpp
Rationale: backend implementations belong to backends/, but portable APIs meant to be used by high level code is for common / sound / graphics / ... (compare also with backends/midi vs. sound/mididrv.h)

svn-id: r23274
2006-06-24 08:07:48 +00:00
Torbjörn Andersson
1569d5fadc Cleanup.
svn-id: r23194
2006-06-20 18:08:03 +00:00
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Torbjörn Andersson
5f113b2dc2 Setting a "null" cursor like this doesn't do anything in the SDL backend, and
could possibly be undefined in other backends. So it should be safe to remove.

svn-id: r22636
2006-05-25 20:50:32 +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