Commit Graph

22301 Commits

Author SHA1 Message Date
Johannes Schickel
dab9c05783 SCUMM: Do not allow multi midi mode for PC Speaker output.
Thanks to eriktorbjorn for catching this.
2011-07-10 16:21:30 +02:00
Johannes Schickel
fb4ed2224f SCUMM: Minor clean up in iMuse instrument handling code. 2011-07-10 05:28:20 +02:00
Johannes Schickel
abbd29b16a SCUMM: Limit iMuse default instrument load to PC Speaker output.
Albeit the code is marked as a hack inside the source, the original behaved
exaclty the same. If the code is removed the PC Speaker output will miss notes,
since unlike the original we only output to parts, which have an instrument set
up.
2011-07-10 05:21:25 +02:00
Johannes Schickel
0a94fc5b7b SCUMM: Only try to load MT-32 instruments when we have a MIDI output in iMuse.
This fixes the melody in Indy4's intro with the PC Speaker output.
2011-07-10 05:13:03 +02:00
Johannes Schickel
bf4091931d SCUMM: Implement effect envelope for PC Speaker output in SCUMM v5. 2011-07-10 04:54:07 +02:00
Johannes Schickel
ed993e6350 SCUMM: Initial PC Speaker output implementation for SCUMM v5.
This is *not* complete yet.
2011-07-08 04:45:01 +02:00
Johannes Schickel
3f04ad72a9 SCUMM: Remove unused operator int. 2011-07-03 22:22:04 +02:00
Matthew Hoops
b4f4fd6b00 AGI: Cleanup some Winnie string code 2011-07-03 13:49:28 -04:00
Matthew Hoops
c2be473ce2 AGI: Fix some memset calls
Spotted by both salty-horse and LordHoto using clang
2011-07-03 13:49:28 -04:00
Alyssa Milburn
628cc40e8f MOHAWK: Fix build. 2011-07-03 18:28:22 +02:00
Alyssa Milburn
a1e9cecd39 MOHAWK: Implement the remaining LBCode arithmetic operators. 2011-07-03 18:19:32 +02:00
Alyssa Milburn
57d4bad11c MOHAWK: Handle subpages in the LB console's changePage. 2011-07-03 18:18:00 +02:00
athrxx
636a28c0dd SCUMM: fix crash in digital iMuse games when using RTL and restarting
(static array were not reset to NULL after being freed and therefore didn't get reallocated on restart)
2011-07-03 14:40:57 +02:00
athrxx
90fa4cf15f KYRA: formatting 2011-07-03 14:40:55 +02:00
Alyssa Milburn
d7f50b925e MOHAWK: Fix associativity of LBCode operators. 2011-07-03 14:18:17 +02:00
eriktorbjorn
dd7b1399f3 SWORD2: Silence "variable set but not used" GCC warnings 2011-07-03 07:20:40 +02:00
Johannes Schickel
7e4224e52a COMMON: Fix compilation when USE_HASHMAP_MEMORY_POOL is not defined. 2011-07-03 00:16:07 +02:00
Bastien Bouclet
8b89660069 GUI: Zero is a valid save slot number.
Fixes loading from slot 0 using the GMM.
2011-07-02 22:01:47 +02:00
Bastien Bouclet
8e80f5690d MOHAWK: Misc Mechanical fixes. Many thanks to Patrick Monnerat for the patch.
- Adds break statements where missing in Mechanical::toggleVar() and Mechanical::setVarValue()
- Restore proper numbering of Achenar and Sirrus panel state variables, which were wrongly swapped.
- When bird is singing, play sound continuously.
- When operating the fortress elevator, keep the engine sound active while the elevator is moving.
2011-07-02 22:01:46 +02:00
Johannes Schickel
09501be85b ENGINES: Clean up SaveStateDescriptor.
Now SaveStateDescriptor no longer subclasses HashMap. Instead all possible
saved meta data is included directly into SaveStateDescriptor.

This is slightly less flexible, but we never needed that flexibility so far.
On the other hand it should reduce the memory usage. At least on my system
(Linux/amd64) the old SaveStateDescriptor had a size of 928 and the new
SaveStateDescriptor has a size of 200.
2011-07-02 21:07:55 +02:00
Paul Gilbert
a5b0792295 TSAGE: Remove outdated extra channel variable 2011-07-02 19:54:39 +10:00
Paul Gilbert
d1a30b41b1 TSAGE: Linked in the (in progress) SoundBlaster Fx class 2011-07-02 13:51:05 +10:00
Paul Gilbert
160a8d96d9 TSAGE: Fixed problem with saving double values 2011-07-02 13:49:27 +10:00
Paul Gilbert
ab7fdccc3b TSAGE: Beginnings of SoundBlaster sound driver 2011-07-02 10:39:57 +10:00
Alyssa Milburn
925347bd4d MOHAWK: Don't allocate zero-size array. 2011-07-02 01:27:19 +02:00
Matthew Hoops
5ba4e839b5 MOHAWK: Add the Mac version of Arthur's Reading Race 2011-07-01 18:33:14 -04:00
Alyssa Milburn
1d6df12446 MOHAWK: Always create a code object for every LBPage. 2011-07-02 00:23:37 +02:00
Alyssa Milburn
35ef5ea28c MOHAWK: Try implementing LBCode eval, random and seek. 2011-07-02 00:23:04 +02:00
Alyssa Milburn
aceb1470cb MOHAWK: Use LBCode instead of running scripts in LBItem. 2011-07-02 00:18:26 +02:00
Alyssa Milburn
1b2b9e7604 MOHAWK: Add LBCode::parseCode.
This allows script strings to be parsed into LB bytecode.
2011-07-02 00:16:55 +02:00
Alyssa Milburn
d2035b34e0 MOHAWK: Allow creation of LBCode instances without an associated BCOD. 2011-07-02 00:11:44 +02:00
Alyssa Milburn
2667b502d7 MOHAWK: Add LBCode::resolveItem helper function. 2011-07-02 00:04:24 +02:00
Alyssa Milburn
689099f9b5 MOHAWK: Fix/add bounds checking in LBCode::nextToken. 2011-07-02 00:03:49 +02:00
Littleboy
a5398bd663 LASTEXPRESS: Fix loading of subtitles from sound name 2011-07-01 01:17:08 -04:00
Johannes Schickel
933ee5b156 GRAPHICS: Remove default values from FontSJIS::drawChar.
drawChar is overloaded in FontSJIS. One takes a "Surface &" as first
parameter another one "void *", they furthermore have the exact same
number of required parameters. The one "void *" just had a few extra
parameters with default values. This resulted in a bug in SCUMM, where
"VirtScreen *" (a subclass of Surface) was passed instead of "VirtScreen &"
and thus the method taking "void *" was incorrectly used.

To make it easier to spot such bugs in the future I just removed the default
values and thus disallow such calls.
2011-07-01 05:42:54 +02:00
D G Turner
173db53e4b DREAMWEB: Add Spanish CD and French CD Detection Entries.
These are taken from bug #3328865 ("DREAMWEB Spanish Version").
2011-07-01 01:12:43 +01:00
eriktorbjorn
5dd8f2575b JANITORIAL: Silence a couple of "variable set but not used" warnings. 2011-06-30 23:47:10 +02:00
Matthew Hoops
d3717c1274 MOHAWK: Fix tMOV resources at the end of a file
Thanks to fuzzie for noticing
2011-06-30 15:51:15 -04:00
Ori Avtalion
aa0f307e06 ALL: Require DECLARE_SINGLETON to be used in the Common namepsace
Silences the clang warning:

  static data member specialization of '_singleton' must
  originally be declared in namespace 'Common'; accepted as a C++0x
  extension [-Wc++0x-extensions]

Wrapping "namespace Common {}" around the macro assignment causes clang
to complain about a spurious semicolon, and removing the semicolon at
the end of the macro causes some editors to misbehave.

Changing the requirement of using the macro in one namespace (the
global) to another (Common) seems a small price to pay to
silence a warning.
2011-06-30 22:41:41 +03:00
Ori Avtalion
eec84253f0 MADE: Fix hidden overloaded virtual function warning 2011-06-30 00:53:33 +03:00
Littleboy
3385fd37b9 LASTEXPRESS: Hook up preliminary sound filtering
- Add debug checks in soundFilter()
 - Rename kSoundStatusClear1 to kSoundStatusFilterVariant
2011-06-29 12:06:33 -04:00
Littleboy
2788cb8bf7 LASTEXPRESS: Update sound timer and sound entry playing
- Move filtering to SoundEntry class
 - Make some methods of SoundEntry class private
 - Add methods to check if a StreamedSound/AppendableSound is done playing
2011-06-29 11:07:28 -04:00
Littleboy
4526bbb5b6 LASTEXPRESS: Move SoundStatus to shared header 2011-06-29 11:07:26 -04:00
Littleboy
9cc5d404c7 LASTEXPRESS: Replace shared sound buffer by per-entry buffer 2011-06-29 11:07:24 -04:00
Eugene Sandulenko
a17049e228 SWORD25: removed useless warning in setVsync() 2011-06-29 17:16:28 +03:00
Eugene Sandulenko
15a16e556c SWORD25: Implement persistence functions for soundengine
Now sound is properly saved/restored. Implemented savegame versioning.
Compatibility with old saves pertained.
2011-06-29 17:16:25 +03:00
Littleboy
04933a1937 LASTEXPRESS: Make SoundEntry members private 2011-06-28 23:17:13 -04:00
Littleboy
b4ac4988cc LASTEXPRESS: Cleanup comments 2011-06-28 22:54:51 -04:00
Littleboy
90dc4f9a8c LASTEXPRESS: Move Sound class to the sound folder 2011-06-28 22:30:24 -04:00
Littleboy
6eace0ca75 LASTEXPRESS: Move sound queue related functions to a separate class
- Implement missing queue reset function
 - Cleanup SoundManager::playLoopingSound()
2011-06-28 22:13:40 -04:00