Commit Graph

528 Commits

Author SHA1 Message Date
Filippos Karapetis
b8354e27ae TINSEL: Fix bug #3541230 - "DW: PSX version locks up after using the book"
Removed the superfluous MIDI offset storing code. Now, the MIDI buffer is
re-read when the music loops. This removes a static variable and also
fixes another bug in the SEQ decoder.
2012-07-09 01:33:40 +03:00
Johannes Schickel
e1d45a7b89 TINSEL: Remove unused member _scheduler in TinselEngine.
This is a leftover from before the move of the coroutine code.
2012-06-07 18:19:58 +02:00
Paul Gilbert
68b0412ce9 TINSEL: Fix compiler warning 2012-05-17 20:46:13 +10:00
Paul Gilbert
41692ef48a TINSEL: Refactored Tinsel engine to use the Common coroutine scheduler 2012-05-17 20:42:23 +10:00
Paul Gilbert
c6810c174e COMMON: Moved the Tinsel Coroutine code into it's own Common class 2012-05-17 20:39:55 +10:00
Matthew Hoops
76dfbbede4 TINSEL: Add basic PSX SEQ playback support
Instrument bank support is not implemented yet
2012-05-03 18:19:54 -04:00
Matthew Hoops
b93b17e7f4 TINSEL: Capitalize 'demo' 2012-05-03 17:59:19 -04:00
Alyssa Milburn
be35baddc7 TINSEL: Rename globals to add g_ prefix. 2012-02-22 23:14:29 +01:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Paul Gilbert
5ce622c1b6 TINSEL: Added extra fields to the savegame header for SCN/GRA usage and language
New savegames that are created will no longer appear in the savegame list for different data versions or languages.
2012-02-11 21:45:16 +11:00
Johannes Schickel
adb5342247 TINSEL: Take advantage of KeyState::hasFlags. 2011-12-30 01:53:01 +01:00
D G Turner
111f580676 TINSEL: Replace usage of 'goto'. 2011-12-08 14:27:28 +00:00
Strangerke
bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
Johannes Schickel
61795739f8 COMMON: Rename Common::set_to to Common::fill.
This makes the name match with the name of the STL function with the same
behavior.
2011-11-16 18:06:30 +01:00
Alyssa Milburn
e21764be76 TINSEL: Don't leak _curChunk on exit. 2011-11-14 22:54:34 +01:00
Strangerke
9684a1079d LAUNCHER: Add GUIO_NOASPECT to tinsel 2011-10-24 01:27:47 +02:00
Eugene Sandulenko
32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
Paul Gilbert
b7ab968dc7 TINSEL: Cleaner fix for bug #2893946 - Psychiatrist savegame problem 2011-10-20 20:36:37 +11:00
Paul Gilbert
ca7bc71846 TINSEL: Bugfix for restoring DW1 savegames with a saved scene
This happens, for example, when restoring a savegame of the dragon summoning book close-up. After restoring, you couldn't leave the close up.
2011-10-18 19:47:45 +11:00
Paul Gilbert
01616afecc TINSEL: Revert of prior commits for #2893946 2011-10-16 16:14:02 +11:00
Paul Gilbert
6811a3daff TINSEL: Alter previous DW1 bugfix so that DW2 still works properly 2011-10-14 20:38:00 +11:00
Torbjörn Andersson
744f8507d7 TINSEL: Fix #3422433 ("DW2: US version uses UK graphics")
According to dreammaster it should be enough to add cases for the
US version in these two functions, but unfortunately he can't test
it himself. I guess I should try to find the time to play through
the game, but right now there's an annoying DW2 regression from
commit d5690e0. See GitHub commit note for details.
2011-10-13 23:48:09 +02:00
Paul Gilbert
d5690e09b3 TINSEL: Bugfix for #2893946 - DW1 psychiatrist scene isn't playing 2011-10-04 20:47:01 +11:00
Johannes Schickel
b8dfd3366b TINSEL: Made some static data const. 2011-09-08 20:15:07 +02:00
Matthew Hoops
adb69a5a39 AUDIO: Rename Vag to XA
Vag is really an XA container, and one that we do not have a decoder for (nor need)
2011-08-24 09:54:19 -04:00
Filippos Karapetis
21b2a7064f Merge pull request #63 from tsoliman/detection-tables
Some missing ADGF_CD and ADGF_UNSTABLE flags
2011-08-13 12:24:30 -07:00
Max Horn
321c0ce027 TINSEL: Code formatting 2011-08-08 20:33:33 +02:00
Filippos Karapetis
5974fcd0c1 TINSEL: Use SAVEGAME_ID when getting savegame info, if a VM is instantiated 2011-08-07 15:10:17 +03:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Filippos Karapetis
2c9fdf0df7 TINSEL: Fixed deleting saved games from the launcher (bug #3387551) 2011-08-07 14:21:28 +03:00
Tarek Soliman
a30c3697fb TINSEL: Flag CD titles with ADGF_CD 2011-08-06 23:33:15 -05:00
Eugene Sandulenko
0dafa7f80f ALL: Reduce audio/ header dependency 2011-08-06 11:30:42 +01:00
Alyssa Milburn
6318758e71 TINSEL: Don't leak running processes in Scheduler::reset(). 2011-06-20 17:42:00 +02:00
Alyssa Milburn
0269a8d900 TINSEL: Fix/comment CORO_KILL_SELF macro.
This reverts 9573b1d2f5, which changed
the behaviour of (among other things) NewScene, which made Discworld
uncompletable. Thanks to digitall for bisection/reproduction.
2011-06-20 17:23:30 +02:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Max Horn
879c3c7817 DETECTOR: Pass allFiles to AdvancedMetaEngine::fallbackDetect()
Also reorder the parameters of composeFileHashMap, placing the "return value"
first.
2011-06-14 18:52:11 +02:00
Max Horn
7c992d6598 DETECTOR: Merge ADParams into AdvancedMetaEngine 2011-06-14 18:17:01 +02:00
Thierry Crozat
06bbb57ad7 I18N: Make many more GUI MessageDialog strings translatable 2011-06-13 22:19:18 +01:00
Max Horn
ce1a857669 TINSEL: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:45 +02:00
Max Horn
4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
D G Turner
c9156d369f TINSEL: Replace snprintf() usage with Common::String::format()
Safer and less portability issues.
2011-06-02 03:58:27 +01:00
Matthew Hoops
9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
Matthew Hoops
1277975c66 ALL: neighbour -> neighbor 2011-05-25 10:50:46 -04:00
eriktorbjorn
9205b8eb05 TINSEL: Fix bug #3306020, DW2: Crash On Entering Sewers
This is a simpler fix than the one I committed to the 1.3 branch,
but since it carries a theoretical risk of regressions it's so
much more macho.
2011-05-23 23:36:54 +02:00
Christoph Mallon
5813ac1bcf TINSEL: Remove declarations for non-existent functions FindObject() and GetNextObject().
Signed-off-by: Max Horn <max@quendi.de>
2011-05-18 15:30:33 +02:00
Christoph Mallon
f143668db4 TINSEL: Correctly handle the pDispList OBJECT linked lists, i.e. use OBJECT** for a pointer to the head.
Signed-off-by: Max Horn <max@quendi.de>
2011-05-18 15:30:23 +02:00
Max Horn
9c01c38512 TINSEL: Document pDispList OBJECT linked list 'trick' 2011-05-18 14:06:56 +02:00
Max Horn
d85700bb94 TINSEL: Revert commit 43ca9c86ab to fix bug #3303799
Commit 43ca9c86ab causes segfaults when trying to start a game in tinsel.

However, the code in question still should be investigated, as it
casts OBJECT** pointers to OBJECT*. Very fishy.
2011-05-18 13:47:41 +02:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
Thierry Crozat
3c59e37035 ENGINES: Unify engine names
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
b8d858a00b TINSEL: Cleanup reel saving code 2011-05-10 14:43:54 +02:00
Max Horn
43ca9c86ab TINSEL: Remove unnecessary casts 2011-05-10 14:43:53 +02:00
Johannes Schickel
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Paul Gilbert
4924c12b85 TINSEL: Fixed code analysis warnings in bug #3087863 2011-04-28 21:02:35 +10:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Max Horn
73f04118f3 COMMON: Rename Error to ErrorCode, introduce new Error class 2011-04-18 18:22:02 +02:00
Johannes Schickel
7b4a4d9fa6 Merge pull request "New mixer mute handling."
See https://github.com/scummvm/scummvm/pull/12 for more information.
2011-04-18 15:59:34 +02:00
Johannes Schickel
933c4f93f5 TINSEL: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:33:50 +02:00
Max Horn
2e095e25f2 ALL: centre -> center 2011-04-14 14:34:28 +02:00
Max Horn
84184aabc0 ALL: colour -> color 2011-04-14 14:12:35 +02:00
md5
3d1dcefd46 TINSEL: Removed an unused global variable 2011-04-14 01:56:47 +03:00
Johannes Schickel
507dd88f9c TINSEL: Clean up code a bit, since we now handle digital audio muting differently. 2011-04-13 23:48:51 +02:00
Max Horn
7607e351cc TINSEL: Move custom ADPCM decoders to tinsel engine 2011-04-13 12:48:57 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
Max Horn
f5ff6e9e18 TINSEL: cleanup 2011-04-12 16:06:39 +02:00
Johannes Schickel
e8be5ba95b TINSEL: Make the cdFlags array in drives.cpp static again. 2011-04-10 19:22:06 +02:00
md5
cd085b1ae8 TINSEL: Removed some unused global static variables 2011-04-10 17:27:48 +03:00
md5
c89f2276d1 TINSEL: Merged NewName() inside DoSave() in order to remove a static var 2011-04-10 14:27:50 +03:00
md5
d1c4b56223 TINSEL: Cleanup - removed obsolete defines 2011-04-10 14:27:49 +03:00
md5
b31f39e6c6 TINSEL: Changed cdFlags to be non-static and constant 2011-04-10 14:27:48 +03:00
md5
69ec4fbf1b TINSEL: Removed the dummy ForceEntireRedraw() function 2011-04-10 14:27:47 +03:00
md5
3fde0306a4 TINSEL: Removed the useless LookAtBuffers() function 2011-04-10 14:27:46 +03:00
Paul Gilbert
88b3fc7c66 TINSEL: Added numeric key mappings for function keys 2011-04-08 20:43:41 +10:00
Max Horn
7b47bf4638 TINSEL: Remove dead variables 2011-03-30 00:07:16 +02:00
Max Horn
8c931fd1e8 AUDIO: Add Audio::MidiPlayer::createDriver(), let some engines use it 2011-03-28 18:06:36 +02:00
Max Horn
7949d7c6de AUDIO: Move more common code to Audio::MidiPlayer
This also should fix some regressions from the previous
commits, related to MidiParser's either being leaked,
or being deleted and then used again (i.e., crashing).

I tested as many games as I had available, but further
testing of all affected engines is called for anyway.
2011-03-25 14:15:53 +01:00
Max Horn
f333d93fe8 TINSEL: Remove unused TinselEngine::_musicVolume member 2011-03-25 14:15:52 +01:00
Max Horn
47e347b922 TINSEL: Change MidiMusicPlayer to derive from Audio::MidiPlayer 2011-03-24 16:46:48 +01:00
Max Horn
e70fd59b35 ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.

This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
2011-03-23 16:49:41 +01:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
2011-03-23 15:25:47 +01:00
Max Horn
99dbecf3b4 TINSEL: Make MidiMusicPlayer::_parser and _mutex protected 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
md5
a796f7843d TINSEL: Added enhanced music support for the German CD "Neon Edition" re-release of DW1 (bug #2827022) 2011-02-24 14:54:12 +02:00
Johannes Schickel
01d511bf1b TINSEL: Adapt to setPalette RGBA->RGB change.
This is done by converting the internal RGBA palette data to RGB before
calling setPalette. This might not be the best solution, but looking a bit
into the engine it seems like changing all the code to work with RGB instead
of RGBA might require some bit of work.
2011-02-15 23:32:41 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn
2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Max Horn
ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Filippos Karapetis
9b8c04045b MIDI: Fix for bug #3170988 - "MONKEY2: Messed up MT-32 music"
This is a regression from r55256. Apparently, SCUMM has issues when sending a sustain
off on a notes off event. Thus, this has been turned into a feature, which is disabled
by default. Since MADE, SAGA and tinsel all share the same music code and play regular
MIDI files, and this feature fixes hanging notes for them, it has been enabled for them.
Also, applied a patch for a bug regarding the notes off event in MADE and tinsel,
which has been applied in SAGA already

svn-id: r55746
2011-02-02 23:27:59 +00:00
David Turner
9573b1d2f5 TINSEL: Memory Leak Fix in Coroutines.
This fixes the leak from the COR0_BEGIN_CODE macro's CoroContextTag allocation.
Setting the _sleep value to negative values prevented the deallocation of these.
Have tested for obvious regressions, but a full DW/DW2 playtest should be done to confirm that this doesn't cause any issues.
Thanks to fingolfin for indicating this solution.

svn-id: r55671
2011-01-30 23:21:40 +00:00
Arnaud Boutonné
d063b074cd JANITORIAL: Suppress some useless includes
svn-id: r55091
2011-01-02 14:06:42 +00:00
Max Horn
6edc86a19b DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engine
svn-id: r54815
2010-12-07 18:54:21 +00:00
Max Horn
9a0c20a45f TINSEL: Improve support for DW mac demo (see bug #3110936)
svn-id: r54811
2010-12-07 18:00:18 +00:00
Max Horn
a914b97559 TINSEL: Fix support for file names with a trailing dot
When copying data files with 8.3 names from a CD, they sometimes end up
with a trailing dot, e.g. "INDEX." instead of "INDEX". Comon::File
supports this, but in r54392 Tinsel stopped using Common::File.

This commit also removes the useless SeekableSubReadStream wrapper
around the actual file stream.

svn-id: r54446
2010-11-23 22:33:26 +00:00
Max Horn
b485d0ee49 TINSEL: Turn TinselFile into a SeekableReadStream
svn-id: r54439
2010-11-23 22:26:43 +00:00
Max Horn
c9fdaa7417 TINSEL: Restrict use of memstream.h & substream.h
svn-id: r54437
2010-11-23 22:26:09 +00:00
Paul Gilbert
a2367d26f9 TINSEL: Preliminary functionality for reading BE data files
svn-id: r54392
2010-11-20 03:14:03 +00:00