Commit Graph

111 Commits

Author SHA1 Message Date
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
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
Torbjörn Andersson
48cb57ec89 Let the event manager keep track of the mouse position.
svn-id: r26205
2007-03-18 12:53:28 +00:00
Torbjörn Andersson
31bc152cc1 Fixed bug that caused the music to stop. I don't know if this is a regression,
or it if was just luck that it worked before.

svn-id: r26196
2007-03-18 09:33:42 +00:00
Torbjörn Andersson
ecf976b5ea Oops.
svn-id: r26191
2007-03-18 08:58:25 +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
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
c489be38d6 Removed obsolete 'if' (resp. replaced it by an assert)
svn-id: r25918
2007-03-01 17:15:26 +00:00
Max Horn
4203819b39 Got rid of another use of File::incRef/decRef
svn-id: r25917
2007-03-01 17:13:23 +00:00
Max Horn
8366420474 Remove unneeded #includes
svn-id: r25838
2007-02-24 23:41:20 +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
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
b4b6adc11e Cleanup.
svn-id: r25747
2007-02-20 17:41:26 +00:00
Max Horn
b777c09ac0 Removed some dead code, updated a warning message
svn-id: r25662
2007-02-17 20:38:27 +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
f31d438a64 SWORD2: Enhance the detector to recurse into the 'clusters' directory, making it possible to detect & run BS2 from (a straight copy of) the CD
svn-id: r25490
2007-02-11 13:02:50 +00:00
Torbjörn Andersson
98a8e88f61 Instead of pre-rendering all subtitles and pre-loading all sounds for a movie
cutscene, render the text and play the speech when needed. It probably won't
play as nicely from CD now, but using less memory seems more important to me.

svn-id: r25428
2007-02-08 21:55:37 +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
Torbjörn Andersson
0080ae687a Stop movie lead-in/out when restarting the game (as I already claimed in a
comment that I was doing) to *really* fix bug #1645480. This time for sure...

svn-id: r25231
2007-01-27 22:10:50 +00:00
Torbjörn Andersson
d2910fe758 Added separate function for playing cutscene lead-in/out sounds, and made sure
that these are stopped whenever the engine is going to do a mass killing of
game resources, e.g. when restoring or restarting the game. Should fix bug
#1645480. (This was a regression added during the rewrite to support DXA.)

svn-id: r25204
2007-01-26 18:21:41 +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
Torbjörn Andersson
85b780baf1 Use FRAMES_PER_SECOND, not getFramesPerSecond(), to calculate the number of
frames before a sound effect is triggered. This is not dependent on _gameSpeed.

svn-id: r24971
2007-01-03 07:56:24 +00:00
Torbjörn Andersson
6496482de5 Added experimental "fast mode" for Broken Sword 2. (Use Ctrl-f to toggle.)
svn-id: r24970
2007-01-03 07:36:44 +00:00
Torbjörn Andersson
4c46f4a878 The MPEG player no longer handles frame syncing/dropping, so this comment is
obsolete now.

svn-id: r24872
2006-12-18 07:55:31 +00:00
Torbjörn Andersson
51a964d056 Applied patch #1597800 to better support the Spanish end credits.
svn-id: r24727
2006-11-16 21:20:24 +00:00
Max Horn
8d37c135c0 Since we now generate warnings/messages for engine instantiation failures in a central place, get rid of such messages printed by engines
svn-id: r24686
2006-11-12 03:26:44 +00:00
Torbjörn Andersson
b1434f2632 Fixed regression caused by recent debug console cleanup. The key stroke that
invoked the debug console would repeat after the console was closed. Another
example why keyboard repeat should be centralized, I guess...

svn-id: r24649
2006-11-07 20:30:39 +00:00
Max Horn
9edf1e6a1a cleanup
svn-id: r24407
2006-10-21 12:44:10 +00:00
Max Horn
b5cbbd705a Added some more const keywords
svn-id: r24330
2006-10-15 02:15:38 +00:00
Torbjörn Andersson
60aee54bfe Fixed bug #1569594 ("BS2 DXA Movie Exit/Crash"). That's what I get for only
testing with subtitles enabled... :-)

svn-id: r24089
2006-10-02 23:07:43 +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
Max Horn
651d22b873 * Added virtual Engine::getDebugger() method
* Removed code from errorString() methods that hooked the debugger(s)
  into error(), in favor of using getDebugger() from within error()
* As a consequence, removed most custom errorString() methods

svn-id: r23894
2006-09-16 19:31:23 +00:00
Max Horn
919092e5fc Overhaul of the debugger code
* Moved Common::Debuggger to GUI::Debugger (mainly to satisfy linker
  restrictions)
* Change the base Debugger class to *not* be a template class anymore;
  instead, a thin (template based) wrapper class is used to hook up
  debugger commands
* Removed duplicate Cmd_Exit and Cmd_Help methods in favor of a single
  version of each in GUI::Debugger
* New Cmd_Help doesn't word wrap after 39/78 chars, but rather queries
  the console to determine when to wrap
* Debugger::preEnter and postEnter aren't pure virtual anymore

svn-id: r23890
2006-09-16 16:58:27 +00:00
Torbjörn Andersson
c51d6bb903 Fixed compilation.
svn-id: r23842
2006-09-09 10:47:32 +00:00
Chris Apers
6ee4d1b317 Fixed crashes on Zodiac and add support for this device
svn-id: r23840
2006-09-09 10:29:14 +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
4f9576e033 The DXA player now bases subtitle position on screen size, rather than frame
size. This should help people who want to use the smaller, low-quality
cutscenes instead of the high-quality ones.

The MPEG player probably doesn't know this trick. Maybe later.

svn-id: r23742
2006-08-23 21:13:11 +00:00
Torbjörn Andersson
d4d2146a0a Run the game detector before creating the engine. This is based entirely on a
recent change to the CINE engine (which in turn was based on some other engine,
I forget which), and should fix bug #1544796. Of course, given how primitive
the Broken Sword 2 detector is, it's easy to fool it. There isn't really any
need for it to be smart, though.

svn-id: r23741
2006-08-23 04:26:01 +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
Johannes Schickel
e5934c8f21 Using FilesystemNode::name instead of FilesystemNode::displayName in the sword2 detector code too.
svn-id: r23557
2006-07-22 14:39:54 +00:00
Torbjörn Andersson
8242e6966d Cleanup.
svn-id: r23551
2006-07-22 09:05:13 +00:00
Oystein Eftevaag
17f8c7067a Removing redundant paranthesis
svn-id: r23543
2006-07-21 11:04:21 +00:00
Torbjörn Andersson
6c0edab41e Some cleanups and restructuring. The clearScreen() function has been renamed
clearFrame(), and is only responsible for clearing the frame buffer. Frame
syncing and frame drawing are now separate from each other.

svn-id: r23525
2006-07-15 23:44:44 +00:00
Torbjörn Andersson
961e56c636 Fixed regression: Test if there's a text object to close before closing it.
svn-id: r23524
2006-07-15 23:18:11 +00:00
Torbjörn Andersson
c7babbea99 Close the current text object when the movie is ended, to avoid potential
memory leak, and be a bit more robust about handling text objects in the dummy
player.

svn-id: r23523
2006-07-15 22:42:28 +00:00