Commit Graph

462 Commits

Author SHA1 Message Date
Travis Howell
5c64695367 Ooops, used wrong one.
svn-id: r10653
2003-10-07 03:58:29 +00:00
Travis Howell
dacd8ce4d1 FM TOWNS sfx fix, correct sample rate.
svn-id: r10652
2003-10-07 03:54:49 +00:00
Max Horn
d7660a2662 introduced namespace Scumm; made #include statements use scumm/ prefix explicitly
svn-id: r10571
2003-10-03 18:33:57 +00:00
Max Horn
3f55f2669d renamed class Scumm to ScummEngine (consisten with other engine names; also makes room for a potential 'Scumm' namespace)
svn-id: r10549
2003-10-02 22:42:03 +00:00
Jamieson Christian
e78b1aeb44 A few FmTowns games don't fall under the GF_FMTOWNS flag.
Must not filter them out in stopSound().

svn-id: r10527
2003-10-01 18:27:31 +00:00
Jamieson Christian
9d93e97ed4 Support for FMTowns versions of MI1/2,
submitted by Hibernatus.

svn-id: r10511
2003-09-30 17:53:42 +00:00
Jamieson Christian
4ab0dff9eb This may be an issue in legit gameplay, but GF_FMTOWNS
games do use _musicEngine for the FM synth stuff, so
don't exclude it in stopSound(). (Is this assumption
made elsewhere also?)

svn-id: r10506
2003-09-30 16:45:50 +00:00
Max Horn
6f978e9e30 some minor cleanup
svn-id: r10437
2003-09-27 20:31:19 +00:00
Travis Howell
4a62eb3e3b More Amiga V2/V3 sound updates from _Q_:
1. A Player_MOD class, basically acts as a simplified mixer that mixes at 60Hz intervals (or whatever interval you specify), this gives smooth music playback in player_v3a
2. Some changes to player_v3a as a result of #1, including reduced music volume
3. player_v2a, and the necessary additions to scummvm.cpp/scumm.h

svn-id: r10392
2003-09-24 06:56:30 +00:00
Torbjörn Andersson
570e60a487 Whitespace changes
svn-id: r10390
2003-09-24 06:33:59 +00:00
Jamieson Christian
091b41a278 Partial fix for Bug [636985] ZAK256: No kazoo tune
Implemented a parser for Euphony music. No
FM instrument support yet, as the FM chip used
by FM Towns is not being emulated yet. In the
meantime, a stock FM-emulated GM instrument is
being used instead.

This at least makes the Zak Towns kazoo tune
and the Loom Towns distaff audible. Emulation
of the FM Towns synth chip, or suitable
emulation using the OPL2 synth, is still
under investigation.

svn-id: r10265
2003-09-16 11:44:48 +00:00
Max Horn
8f26c43b49 cleanup
svn-id: r10260
2003-09-15 19:48:54 +00:00
Travis Howell
7f81defbff Revert change, was not needed after all.
svn-id: r10228
2003-09-13 14:09:36 +00:00
Travis Howell
989f3f9215 Another fm towns sound fix from Hibernatus
svn-id: r10217
2003-09-13 12:04:48 +00:00
Travis Howell
e8f7f2a4e1 Another fm towns sound fix from Hibernatus
svn-id: r10209
2003-09-13 06:56:47 +00:00
Max Horn
ba34c1f4cf experimental fix for bug #802396 (LOOMCD: Sound lock up); it turns out this is a very long standing bug (pre-0.4.1 at the least). This fix may cause regressions in games using CD tracks, beware
svn-id: r10163
2003-09-10 22:36:46 +00:00
Max Horn
afe56a4aeb added refCon parameter to timer class
svn-id: r10156
2003-09-10 12:43:54 +00:00
Max Horn
70df5b782c another fix for bug #802396 (LOOMCD: Sound often causes lock up)
svn-id: r10142
2003-09-09 17:50:20 +00:00
Max Horn
90ec1dc34e make even more use of Scumm::_musicEngine; added MusicEngine::setMasterVolume
svn-id: r10097
2003-09-08 17:06:44 +00:00
Max Horn
84a87ec24c fix for bug #802396 (LOOMCD: Sound often causes lock up)
svn-id: r10085
2003-09-08 11:41:28 +00:00
Paweł Kołodziejski
a3aef4e0d6 fix warning
svn-id: r10081
2003-09-08 07:07:30 +00:00
Max Horn
a9591325ae properly decode SBL resources by scanning the VOC header in them; added a guess at how SEGA SBLs work (untested, might be completely wrong)
svn-id: r10074
2003-09-07 20:53:05 +00:00
Max Horn
7342163c7e make use of voc.h; some cleanup
svn-id: r10073
2003-09-07 20:30:02 +00:00
Max Horn
a7676e07c3 removed the seperate 'MP3' CD methods in class Sound (besides being misnamed, merging them into their parent functions actually seems clearer to me, reading wise)
svn-id: r10071
2003-09-07 19:47:58 +00:00
Max Horn
1dbab0237f cleanup/refactoring
svn-id: r10070
2003-09-07 19:28:45 +00:00
Max Horn
361c3b95d5 some cleanup; clarified isSoundInUse semantics and the difference between IMuse::get_sound_active and IMuse::getSoundStatus; added lots of const qualifiers to IMuse; rewrote IMuseInternal::getSoundStatus (hopefully not breaking it); added MusicEngine::getSoundStatus
svn-id: r10069
2003-09-07 17:14:56 +00:00
Max Horn
38402315d5 make some first use of Scumm::_musicEngine; cleanup; also some changes which *might* cause some breakage, but if they don't, we can build on them to simplify Sound::playSound a little (mainly by removing lots of 'return' statements)
svn-id: r10068
2003-09-07 16:32:23 +00:00
Max Horn
0012f7fa96 added common base class MusicEngine for iMuse/iMuseDigital/Player_V123 (initial stab, more work to follow)
svn-id: r10066
2003-09-07 16:16:19 +00:00
Travis Howell
9de8a0cfa9 Add music player for Amiga versions of indy3ega/loom from unused.
Revert last change to common.rules for now, it broke compile.

svn-id: r10061
2003-09-07 07:23:20 +00:00
Max Horn
b380affbd5 cleanup
svn-id: r10055
2003-09-07 00:03:55 +00:00
Max Horn
4e07649c97 small tweak requested by unused on IRC
svn-id: r10053
2003-09-06 23:35:42 +00:00
Max Horn
0be0196013 removed pauseMixer method from mixer, and renamed stop to stopChannel
svn-id: r10042
2003-09-06 10:47:30 +00:00
Travis Howell
ff05aeeb9e zak256 partial sfx loops are working fine.
svn-id: r10032
2003-09-06 03:05:01 +00:00
Travis Howell
8b4668740e Search header of Amiga V2 games for rate and volume.
svn-id: r10031
2003-09-06 02:27:03 +00:00
Travis Howell
8147719ff2 Remove sound looping hack for v2 amiga games.
svn-id: r10030
2003-09-06 01:44:29 +00:00
Max Horn
318daabdc7 added whitespace, added FIXME comment
svn-id: r10026
2003-09-05 22:53:36 +00:00
Max Horn
3aa8454efa moved the sound ID param in playRaw before volume/pan
svn-id: r10023
2003-09-05 22:09:56 +00:00
Max Horn
d6e4788457 any reasons for playing bundle sounds at 50% volume?
svn-id: r10020
2003-09-05 21:12:33 +00:00
Max Horn
06b6ff9a44 added default volume/pan values
svn-id: r10019
2003-09-05 21:06:32 +00:00
Max Horn
11193b0746 cleaned up sound/mixer.h a bit; renamed some mixer methods for consistency
svn-id: r10018
2003-09-05 20:48:32 +00:00
Travis Howell
0c4d151381 *** empty log message ***
svn-id: r10006
2003-09-05 15:28:22 +00:00
Travis Howell
3187b565dd Add atarist and macintosh options, since there seem to be no way to detect version been used.
svn-id: r9999
2003-09-05 07:36:05 +00:00
Paweł Kołodziejski
7bc63a0ce3 fixes for uninitialized pan and volume
svn-id: r9998
2003-09-05 06:22:10 +00:00
Travis Howell
df963e48bd Corrections for Amiga V2/V3 games from unused.
svn-id: r9994
2003-09-05 03:29:29 +00:00
Torbjörn Andersson
94df02c799 Implement the ACTOR_PAN opcode. The only place I know of where it's used is
between between ship-to-ship combats, so I didn't bother yet to store it in
savegames.

svn-id: r9988
2003-09-03 17:00:33 +00:00
Paweł Kołodziejski
5a6bce590b changed sounds volume to original volume level, and fixed sounds in bass intro
svn-id: r9963
2003-09-02 07:49:40 +00:00
Paweł Kołodziejski
f59a0633d6 fixed if check
svn-id: r9962
2003-09-02 07:18:24 +00:00
Travis Howell
3f2ca2b36a Fix from Hibernatus, correct start position for sfx in Amiga maniac/zak.
svn-id: r9960
2003-09-02 03:21:14 +00:00
Travis Howell
7b26efda21 Add sound looping for Amiga zak/maniac
svn-id: r9959
2003-09-01 17:11:09 +00:00
Paweł Kołodziejski
743a3fbdaf added sound handle stuff to mixer streams
svn-id: r9956
2003-09-01 13:43:22 +00:00
Paweł Kołodziejski
2533b23a60 added mixer features: volume and pan control per channel
svn-id: r9944
2003-08-31 20:26:21 +00:00
Travis Howell
890c5cde04 Very basic sfx support for Amiga version of maniac/zak
svn-id: r9922
2003-08-30 15:32:57 +00:00
Travis Howell
144b9ed71c Alter last commit, since looping would never be stopped on Mac version.
svn-id: r9919
2003-08-30 09:42:29 +00:00
Travis Howell
5fe5bd2e0d *** empty log message ***
svn-id: r9918
2003-08-30 09:15:10 +00:00
Travis Howell
21814137c2 indy3ega [mac] use same sound effects format as indy3ega [amiga]
svn-id: r9917
2003-08-30 09:12:45 +00:00
Jonathan Gray
485852ba6c change sound queue overflow error to warning as error was supposed to be temporarily apparently...
svn-id: r9812
2003-08-22 01:47:15 +00:00
Travis Howell
f16aec61f0 Fix speedy music regression in monkeyega/vga/pass.
Add unique tag to sfx when converting AD resources, to solve sfx cutting off music issue in monkeyega/vga.

svn-id: r9801
2003-08-20 15:19:23 +00:00
Travis Howell
a892474a4f Fix my fix
svn-id: r9711
2003-08-15 15:17:25 +00:00
Travis Howell
7e611160a9 *** empty log message ***
svn-id: r9707
2003-08-15 14:18:09 +00:00
Travis Howell
f9aea7673f Correct comment
svn-id: r9702
2003-08-15 10:07:31 +00:00
Travis Howell
f76980af39 Restrict monkeyega/vga music stop hack to ADL and RO sound resources
svn-id: r9697
2003-08-15 04:16:51 +00:00
Jonathan Gray
78b6cb41a9 patch #788078 Improved Amiga V3 SFX support by Quietust
svn-id: r9695
2003-08-15 01:21:59 +00:00
Travis Howell
7faa06aecd Revert bad change
svn-id: r9687
2003-08-14 09:27:33 +00:00
Travis Howell
fa6d96086d Remove debug stuff that shouldn't have been commited
svn-id: r9678
2003-08-14 02:52:52 +00:00
Travis Howell
cd40c899b2 Inital support for v1 maniac sound from Hoenicke
Had to move music init for v1/v2 games to get this working

svn-id: r9675
2003-08-14 02:28:19 +00:00
Travis Howell
679bc2d271 Adds finals changes for choice of sound formats in older games.
Only works wit monkeyvga, since ScummVM has it set as version 4.
Remove some old debugging comments

svn-id: r9659
2003-08-13 15:37:28 +00:00
Travis Howell
de3f72c676 temp. fixme for music in monkeyega/vga
svn-id: r9652
2003-08-13 01:46:48 +00:00
Travis Howell
b198fbc3bb Add adlib music for indy3ega/loom and adlib sfx, patch #770862
svn-id: r9649
2003-08-12 16:09:41 +00:00
Max Horn
9d56a50678 work around odd cases with odd lens for 16 bit audio data
svn-id: r9591
2003-08-07 23:54:59 +00:00
Jamieson Christian
1615278ecc Upgraded IMuse::doCommand() to support more than 8 parameters.
V6 scripts can specify up to 16 parameters to be passed to
doCommand(). In most cases 8 or fewer parameters were used,
but occasional uses of 9 or 10 parameters resulted in
incorrect iMuse behavior due to lost doCommand() data.

ImTrigger was also upgraded to support 8 parameters instead
of 4, since the incorrect behavior that was observed involved
the use of triggered commands that required more than 4
parameters. Since ImTrigger data is not currently being saved
(which is bad), we do not at this time have to go to another
savegame format to support the additional ImTrigger data
(which is good).

This fix corrects a problem in the Tunnel of Love. When the
"execution scene" music finishes and the hidden door opens,
the Tunnel of Love music is supposed to start up again. In
ScummVM, it never would, do to the loss of parameters for a
trigger-based "Parameter Fade" command.

A bit of miscellaneous cleanup has also been made.

svn-id: r9579
2003-08-06 18:20:15 +00:00
Max Horn
002f5262e3 remove obsolete warning for non-22050 Vorbis files
svn-id: r9555
2003-08-06 12:11:10 +00:00
Travis Howell
8bf012d966 Add adlib music improvements for indy3/monkeyega/monkeyvga and cleanups from patch #770862
svn-id: r9480
2003-08-05 05:21:57 +00:00
Max Horn
4a2a1fcdd0 enable partial looping: However this is *completely* untested since I have no clue where this feature is used, so i can't test it... if somebody tells me where this occurs, I can fix it, if it's not working already
svn-id: r9361
2003-08-01 12:50:19 +00:00
Max Horn
0b4e48b59e revamped MP3/Vorbis CD 'emulation' code to use a PlayingSoundHandle -> this allows to finally get rid of the hackish isChannelActive/isChannelUsed methods in SoundMixer
svn-id: r9346
2003-07-31 20:24:10 +00:00
Max Horn
6b470390f7 cleanup
svn-id: r9281
2003-07-29 12:39:41 +00:00
Max Horn
c62b74a08f Added FIXME
svn-id: r9265
2003-07-29 00:05:19 +00:00
Max Horn
791efd853a lots of mixer changes: replaced _volumeTable by _globalVolume (applying volume after resampling is more accurate); made more member vars of SoundMixer protected (and thus added some new getter methods); added (untested) support for a second (stereo) channel when playing MP3
svn-id: r9184
2003-07-25 01:19:14 +00:00
Travis Howell
2b0e1b7000 Small correction for mac loom
svn-id: r9143
2003-07-23 05:36:08 +00:00
Travis Howell
fc5080bfb2 Ooops that should not have been commmited
svn-id: r9142
2003-07-23 05:18:47 +00:00
Travis Howell
13dae9b394 fm towns cd audio fix from Hibernatus
svn-id: r9141
2003-07-23 05:17:21 +00:00
Max Horn
2becb78d86 fix for bug #762593 (ZAK256: Audio CD not handled properly)
svn-id: r9135
2003-07-22 22:14:14 +00:00
Max Horn
9bd7cdbce0 so it's not the endFrame, but the duration (in frames), after all! grmbl, took me long enough to figure this out, now I can fix up system.h, and then decide whom I can blame for this mess (yeah I know I renamed everything to endFrame in here, but it was named incorrectly in many other places already... ah well, at least now we know :-)
svn-id: r9130
2003-07-22 20:27:54 +00:00
Travis Howell
d3f303bb46 Small update to Amogs sfx support for indy3/loom, patch #771355
svn-id: r9081
2003-07-19 16:07:33 +00:00
James Brown
be4446f945 Ignore me, I'm a carrot.
svn-id: r9073
2003-07-19 07:43:13 +00:00
James Brown
b295340912 Restore size hack properly
svn-id: r9072
2003-07-19 07:42:01 +00:00
Travis Howell
e4b598fb5d Change back to warning
svn-id: r9071
2003-07-19 07:32:26 +00:00
Travis Howell
b887fd708e Another fix from Hibernatus
svn-id: r9070
2003-07-19 04:32:35 +00:00
Travis Howell
fdb79e01cc More fix from Hibernatus
svn-id: r9069
2003-07-19 03:54:33 +00:00
Travis Howell
9c026748f3 Another fix from Hibernatus
svn-id: r9066
2003-07-18 14:48:18 +00:00
Travis Howell
8fbb8a6df8 Add 22KHz sounds effect support for fm towns games, patch #773434
svn-id: r9063
2003-07-18 05:59:32 +00:00
Travis Howell
f20c47bb21 Add Indy3 FM Towns support, patch #773434
svn-id: r9062
2003-07-18 05:49:21 +00:00
Travis Howell
09984089fb Revert part of last changes.
Caused indy3ega/loom to try to use amiga sound sometimes, when Amiga option was enabled.

svn-id: r9059
2003-07-17 12:27:13 +00:00
Travis Howell
5a1dce2773 Ooops
svn-id: r9058
2003-07-17 11:56:47 +00:00
Travis Howell
05b40887d9 Make the Amiga option costumes/palette only again.
svn-id: r9057
2003-07-17 11:20:31 +00:00
Max Horn
8fbc3ed31b proper fix for the small regression caused by my COMI fix last night; this also fixes bug #766382
svn-id: r9047
2003-07-15 22:21:30 +00:00
Max Horn
83a3afab42 temporary fix for bug #771562, I am working on a proper one now
svn-id: r9044
2003-07-15 20:51:18 +00:00
Travis Howell
eddf075495 Remove warning in simon
Add INDY3EGA Amiga - experimental support for sound effects, patch #771355

svn-id: r9033
2003-07-15 07:29:23 +00:00
Max Horn
9e27fe9c95 temporarily changed this to an error to help track down what is causing the sound queue overflows(in particular, to figure out the room/script/offset where the bug occurs). Please report your findings to Fingolfin
svn-id: r9028
2003-07-14 22:24:18 +00:00
Max Horn
bb87787314 fix for bug #769744 (COMI: Trying to append to a nonexistant stream)
svn-id: r9025
2003-07-14 21:37:45 +00:00
Travis Howell
21266bfc79 zak v1 uses same sound resources as zak v2
svn-id: r9002
2003-07-14 08:42:02 +00:00
Jonathan Gray
fcc52b238b remove unused variable which is also incorrectly cast...
svn-id: r8948
2003-07-12 15:38:27 +00:00
James Brown
d50009b7c7 Preemptive code cleanup to prevent ear damage during certain Euphony tunes
svn-id: r8947
2003-07-12 15:27:41 +00:00
Jonathan Gray
dfdebc39ae add support for MRAW/dmu files in 3DO humongous games, has the overlapping music problem again so will probably have to play music via digital imuse at some point
svn-id: r8803
2003-07-06 15:02:13 +00:00
Max Horn
98027c2072 the amiga check should be separate since the big FIXME comment does not apply to it at all
svn-id: r8798
2003-07-06 10:39:02 +00:00
Travis Howell
bdbd7c98bf Add back change that got lost on last two commits
svn-id: r8795
2003-07-06 07:17:50 +00:00
Travis Howell
81871c5ad0 zak256 sound updates from Hibernatus
svn-id: r8793
2003-07-06 06:47:26 +00:00
Travis Howell
580e9ec770 Add support for Amiga version of Monkey Island 1
Palette is still wrong

svn-id: r8790
2003-07-06 06:19:52 +00:00
James Brown
093a31839b Insert preliminary Zak256 sound looping support. It's not perfect, as some Zak256 sounds only loop a part of the sample - which our mixer API doesn't yet support.
svn-id: r8741
2003-07-04 14:10:44 +00:00
Max Horn
470b406587 oops
svn-id: r8738
2003-07-04 12:35:08 +00:00
Max Horn
fb16fb3e24 added some very limited support for Mac Loom (text is now properly centered around x:160 instead of x:0); added (commented out) copyprot bypass (but since I am not sure if there was ever a Mac Loom w/o codes, am not sure if this ever should be enabled); added comment regarding the Mac Loom sound format
svn-id: r8737
2003-07-04 12:34:09 +00:00
Max Horn
fe8719d7bd more cleanup
svn-id: r8707
2003-07-02 11:04:48 +00:00
Max Horn
2cb05bedb9 possible fix for bug #763714: DIG: 'Trying to append to a nonexistant stream 0'
svn-id: r8697
2003-07-02 00:46:24 +00:00
Max Horn
095b68d74f partially implemented the Audio CD query opcode in Zak256 (see bug #762589); cleanup
svn-id: r8680
2003-06-30 23:18:20 +00:00
Max Horn
67a1aa89db Fixes as per bug #762593 (Zak256 Audio CD handling); some cleanup (e.g. renamed start/delay -> startFrame/endFrame)
svn-id: r8679
2003-06-30 22:25:08 +00:00
Max Horn
c52337b128 fix for bug #755899 (thanks Hibernatus)
svn-id: r8677
2003-06-30 20:50:52 +00:00
Max Horn
c10905b975 cleanup
svn-id: r8662
2003-06-27 00:10:17 +00:00
Max Horn
aa19687a4c fixed memory leak when restarting
svn-id: r8661
2003-06-26 23:04:41 +00:00
Max Horn
7f3118f8d8 more const qualifiers
svn-id: r8649
2003-06-25 23:49:54 +00:00
Max Horn
870ce2879e added some const qualifiers; moved _bundle & _current_cd_sound from class Scumm to class Sound; some other tweaks
svn-id: r8648
2003-06-25 23:25:52 +00:00
Paweł Kołodziejski
a1f760b944 this should prevent changing music in some room in the DIG
svn-id: r8641
2003-06-23 21:23:10 +00:00
Max Horn
4ead10e4d5 Change names of the stream API in the mixer; added endStream method (stop() halts stream immediately; endStream() lets it first finish playing)
svn-id: r8603
2003-06-22 11:47:03 +00:00
Max Horn
4ad5a183ce renamed SoundMixer::hasActiveChannel->hasActiveSFXChannel, and fixed the regression in it caused by removing _beginSlots (I hope); added isActiveChannel method used by scumm/sound.cpp (this allowed me to move the Channel class from mixer.h into mixer.cpp); replaced Channel::soundFinished method by isActive
svn-id: r8597
2003-06-22 01:55:53 +00:00
Max Horn
bd4370c251 lots of mixer cleanup / refactoring / reengineering
svn-id: r8594
2003-06-21 23:29:34 +00:00
Max Horn
7c332d7fdb modified & cleaned up the playStream/append code a bit; but this API really could stand some refinement
svn-id: r8592
2003-06-21 21:17:08 +00:00
Jonathan Gray
20b3ba1d28 add id for segacd monkey island and don't attempt to play sbl sounds for now
svn-id: r8555
2003-06-19 12:29:13 +00:00
Max Horn
101df28e0b moved GameId declaration to common/engine.h (more logical); moved scumm specific stuff from gameDetector.h to scumm.h; cleaned up some #includes (ideally, never #include something in a header file if you can avoid it - this cuts down interdepencies)
svn-id: r8496
2003-06-15 01:42:19 +00:00
Max Horn
f1fc68773d made stuff in class Sound protected where possible; moved readCreativeVocFile to imuse_digi.cpp and turned it into a static function; put the DigitalTrackInfo stuff into sound.cpp (keeping it private); removed #includes from sound.h (this cuts down interdependencies a little)
svn-id: r8493
2003-06-15 00:54:14 +00:00
Max Horn
f7a8cbf7c7 Patch #754151: Removed READ_*_UNALIGNED and always read stuff bytewise; augmented by some more changes of mine
svn-id: r8482
2003-06-14 18:52:30 +00:00
Torbjörn Andersson
6c1a5573af Cast %c error() parameters to byte before printing, like we do elsewhere.
svn-id: r8461
2003-06-13 18:09:18 +00:00
Max Horn
49b9a8fc9d follow our coding conventions
svn-id: r8377
2003-06-07 00:49:36 +00:00
Max Horn
86df3537b9 replaced GF_AFTER with _version
svn-id: r8372
2003-06-07 00:13:26 +00:00
Travis Howell
97aaab9410 Don't attempt to play music/sfx on v1 games
svn-id: r8292
2003-06-04 13:33:50 +00:00
Max Horn
f8ab6ad8da wtf is this doing here?!
svn-id: r8269
2003-06-02 10:17:46 +00:00
Max Horn
8b39e81afe cleanup
svn-id: r8236
2003-06-01 13:11:30 +00:00
Jonathan Gray
a871dfafaf don't attempt to play sound on amiga versions of zak/maniac
svn-id: r8029
2003-05-26 23:23:44 +00:00
Jamieson Christian
dbad55e532 Added Hoenicke's PC-speaker waveform generator
and script interpreter for GF_OLD_BUNDLE music resources.

We'll try to get the waveform generator into a
MidiDriver wrapper for use with the 'SPK' resources
of later games, but this is usable for now.

Great work, Hoenicke!

svn-id: r8023
2003-05-26 22:03:04 +00:00
Max Horn
54835862fb cleanup
svn-id: r7920
2003-05-25 00:30:48 +00:00
Max Horn
95b7e01548 cleanup
svn-id: r7919
2003-05-25 00:04:16 +00:00
Max Horn
cb76f85ca6 correction for zak256 SFX
svn-id: r7918
2003-05-24 23:51:57 +00:00
Max Horn
4cda099c57 don't use _gameDataPath directly; minor cleanup
svn-id: r7907
2003-05-24 22:13:01 +00:00
Jamieson Christian
eb09051517 Added XMIDI support to IMuse. IMuse now plays music from Humongous games.
Added some IMuse property options to support some assumptions that seem to be made by Humongous games.

This is still preliminary. It will play music, and it will switch between songs. But I don't know if it's switching to the right song at the right time.

svn-id: r7869
2003-05-23 18:35:53 +00:00
Max Horn
c333b6d6ec replaced many unsafe uses of derefActorSafe by derefActor; replaced derefActorSafe/assert pairs by derefActor (gives better error message); replaced various derefActorSafe/if(a!=0) pairs by derefActor (in cases where the deref should never fail, ever, except due to a bug in ScummVM)
svn-id: r7859
2003-05-23 13:24:41 +00:00
Max Horn
c78664cbc9 renamed talkFrame1/talkFrame2 to talkStartFrame/talkStopFrame
svn-id: r7819
2003-05-22 09:58:33 +00:00
Max Horn
86d57f3c7a many pedantic warning fixes (and some actual potential buglets fixed, too)
svn-id: r7795
2003-05-21 18:09:49 +00:00
Max Horn
8d1110bfee init all Bundle members properly; make _voiceFile/_musicFile protected
svn-id: r7718
2003-05-20 11:56:36 +00:00
Jamieson Christian
ad39f15e05 Auto loop for non-puttdemo games
svn-id: r7693
2003-05-19 18:49:16 +00:00
Jonathan Gray
6cb61537f4 enable midi for non puttdemo humongous games. need to properly return the result of whether music is running though...
svn-id: r7673
2003-05-19 08:04:47 +00:00
Jamieson Christian
e088227e3b Removed annoying debug output
svn-id: r7671
2003-05-19 05:14:18 +00:00
Jamieson Christian
417dc08484 Proof of concept for XMIDI parser in Humongous games.
You must still uncomment the VAR_SOUNDPARAM setting for this to work...?

svn-id: r7670
2003-05-19 05:04:38 +00:00
Max Horn
b43ea06a80 fixed illegal var access in V7/V8 games
svn-id: r7475
2003-05-12 19:53:18 +00:00
Max Horn
98881c3a6a init all VAR_* variables to 0xFF; replaced access to _vars in the form _vars[VAR_*] by VARS(VAR_*) which performs a validity checK; renamed _vars to _scummVars to make sure I updated all places; fixed two places where V6 and newer games would access V5 vars (but there are still some left, it seems); checked VAR access for now only generates a warning
svn-id: r7393
2003-05-08 15:48:50 +00:00
Max Horn
b3eb397ad2 reordered iMuseDigital stuff to be next to each other
svn-id: r7289
2003-05-03 20:45:31 +00:00
Max Horn
00d796e451 slightly better hack because it will work with loaded games, too, and doesn't use any evil static vars
svn-id: r7282
2003-05-03 12:41:35 +00:00
Max Horn
24b3b32b16 fix for my hack :-)
svn-id: r7281
2003-05-03 12:28:37 +00:00
Max Horn
029b99691a hack that avoids buglet where music doesn't stop in MonkeyVGA/EGA
svn-id: r7280
2003-05-03 11:42:25 +00:00
Max Horn
48293bd132 various music related changes and cleanup; also modified MonkeyVGA music sync, at least the intro is much better synced now; not sure about other parts of it / other games
svn-id: r7237
2003-05-01 00:04:05 +00:00
Max Horn
2b74abd2c9 PalmOS changes
svn-id: r7224
2003-04-30 13:23:31 +00:00
Jonathan Gray
d60bc44587 add preliminary bits for making xmi music in humongous games work, just need someone to do something with the pointer now :)
svn-id: r7072
2003-04-22 11:34:46 +00:00
Max Horn
a33e4dddac ignore sound resource in OLD_BUNDLE games for now
svn-id: r6992
2003-04-12 19:42:12 +00:00
Jonathan Gray
9bfcce6e79 remove incorrect cast
svn-id: r6925
2003-04-06 23:22:54 +00:00
Nicolas Bacca
fb20404df0 Watch this cast
svn-id: r6912
2003-04-05 11:24:58 +00:00
Nicolas Bacca
103937ea63 Add delay in ms for tremor vorbis implementation and possible autodetection
svn-id: r6911
2003-04-05 09:55:12 +00:00
Max Horn
c409895483 make the volume controls in the global options dialog work
svn-id: r6863
2003-03-25 15:55:27 +00:00
Max Horn
be47bc121e cleanup
svn-id: r6847
2003-03-23 13:14:54 +00:00
Max Horn
1baa7e30d0 cleanup
svn-id: r6836
2003-03-18 22:07:49 +00:00
Max Horn
0602882b18 cleanup
svn-id: r6832
2003-03-18 16:13:52 +00:00
Max Horn
8073abd096 clean up / some more sanity checks
svn-id: r6760
2003-03-08 00:05:27 +00:00
Max Horn
7ec34ab1a9 refactored some stuff (and made readMAXS virtual, with V2/V3 code having own implementations); cleaned up V6 array shuffle code; made more Scumm member vars/methods protected
svn-id: r6751
2003-03-07 21:38:46 +00:00
Paweł Kołodziejski
39510ce4cc changed voice buffer allocation to needed size
svn-id: r6737
2003-03-07 07:49:10 +00:00
Paweł Kołodziejski
26144eda33 decreased sound buffer for imuse digital, bundle music, and cmi smush audio
svn-id: r6735
2003-03-07 06:41:44 +00:00
Max Horn
dd24a5d797 overlooked one
svn-id: r6730
2003-03-07 01:36:42 +00:00
Max Horn
7222d05d68 uhh - code did modify ptr, then free() it (even before my change, which exposed the problem by always freeing, not just upon errors
svn-id: r6729
2003-03-07 01:35:54 +00:00
Max Horn
fd2e1c2413 fixed memory leak (1 MB each time a bundle sound was plyed... ouch)
svn-id: r6728
2003-03-07 01:21:55 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Paweł Kołodziejski
093428ae9a and more cleanup
svn-id: r6718
2003-03-06 17:58:13 +00:00
Jonathan Gray
91786c253d add bundle file names for comi demo, and only add .IMX when playing the full version
svn-id: r6688
2003-03-04 06:10:07 +00:00
Jonathan Gray
d31b7439e1 we were reading 8 bytes too much on DIGI sounds
svn-id: r6648
2003-03-01 13:32:45 +00:00
Jonathan Gray
88906b0360 hacky support for humongous talkie format
svn-id: r6646
2003-03-01 12:44:52 +00:00
Jonathan Gray
0e5a19e13e change rate for humongous DIGI sounds to 11025
svn-id: r6644
2003-02-28 11:32:43 +00:00
Max Horn
5863805e2c more stuff made 'protected'
svn-id: r6592
2003-02-08 00:38:17 +00:00
Jonathan Gray
b5d15825d3 revert part of the no sound device present stuff that was causing speech to finish prematurely
svn-id: r6583
2003-02-03 12:59:54 +00:00
James Brown
afec98c655 Stop the sound que stuff erroring(). This code was nasty, it LET itself write out of bounds -then- error()'ed. Youch.
There is still a problem, as this warning will come up quite frequently - leading me to believe the que is not being processed
properly?

svn-id: r6564
2003-01-29 04:00:45 +00:00
Paweł Kołodziejski
dc7a876136 added "implementation" of imGetMusicPosition
svn-id: r6550
2003-01-26 14:26:03 +00:00
James Brown
8d9b84b98e Patch 671701: SO_TALK_FREQUENCY
svn-id: r6547
2003-01-26 10:54:34 +00:00
Paweł Kołodziejski
091c7089f8 added assert for voice samples
svn-id: r6541
2003-01-25 20:01:23 +00:00
Paweł Kołodziejski
8e8575003b implemented properly comi sound codecs
svn-id: r6538
2003-01-25 18:41:32 +00:00
Paweł Kołodziejski
d942441f7f applied patch #674141: CMI: Smush sync tuning
svn-id: r6537
2003-01-25 12:13:41 +00:00
James Brown
5f7cd1c93d LCA'03 commit: Fix talking where no sound hardware is present
svn-id: r6536
2003-01-24 06:41:10 +00:00
Jonathan Gray
846d73c536 patch #670660 by Daniel Schepler, properly handle disc switching wrt voice file in comi
svn-id: r6522
2003-01-20 05:59:25 +00:00
Paweł Kołodziejski
050a3fcd12 fix compilation under VC6
svn-id: r6494
2003-01-18 14:00:59 +00:00
James Brown
35d3d26f0c Fix old-game resource error dialog
svn-id: r6441
2003-01-13 13:13:36 +00:00
James Brown
374e3a3f26 Fix ComI music bundle switching on disk change
svn-id: r6434
2003-01-12 19:15:30 +00:00
Paweł Kołodziejski
a8f4c821cf added missing SYNC opcode
svn-id: r6380
2003-01-10 08:25:16 +00:00
James Brown
9df455ce38 Plop in some better disk switching code for CMI - I have no idea how well this will work transitioning from a disk1 room to a disk2
room in-game, but it works for bootparams and saved games..

svn-id: r6322
2003-01-02 10:36:17 +00:00
Max Horn
d59dc6cf17 endian fix
svn-id: r6318
2003-01-01 20:59:59 +00:00
Max Horn
cdeaf66794 cleaned up soundKludge
svn-id: r6303
2002-12-31 21:56:58 +00:00
Paweł Kołodziejski
edacf91d7f fixed play CMI music
svn-id: r6246
2002-12-29 01:28:44 +00:00
Paweł Kołodziejski
8969d5e59c added missing return
svn-id: r6243
2002-12-28 21:55:32 +00:00
Paweł Kołodziejski
3102fd42e3 added more stuff for CMI music
svn-id: r6241
2002-12-28 21:46:49 +00:00
Max Horn
b794c3c375 fixed warning
svn-id: r6238
2002-12-28 16:38:15 +00:00
Paweł Kołodziejski
9d664c9003 added 16 bits samples to playVoice
svn-id: r6235
2002-12-28 15:48:37 +00:00
Paweł Kołodziejski
642cfec556 fix playVoice
svn-id: r6234
2002-12-28 15:42:44 +00:00
Paweł Kołodziejski
b90ef60f2a added CMI sound codec
svn-id: r6232
2002-12-28 15:02:23 +00:00
James Brown
540667567e Voice sample support, again missing a required codec
svn-id: r6195
2002-12-27 12:10:22 +00:00
James Brown
d3ade5b23e Add skeleton music support for CMI (but codec not implemented)
svn-id: r6193
2002-12-27 11:47:00 +00:00
Max Horn
c44512ff71 added FIXME comment
svn-id: r6178
2002-12-26 22:02:58 +00:00
Max Horn
ad7fefd34e map V8 talk opcodes to the right V6 opcodes; however, talking still locks up after the first sentence is uttered (looking into that now); various cleanup; added a guess at VAR_EGO (based on what cmidec says is the 'default_actor')
svn-id: r6176
2002-12-26 21:50:13 +00:00
Max Horn
004ea9f8eb converted heaps of int16 to int for V8 compatibility; fixed defineArray for V8; added some work in o8_kludge2
svn-id: r6132
2002-12-25 14:46:39 +00:00
Jamieson Christian
50b69cb2db Fixed inappropriate expiration of sound resources,
which fixes concurrency issues esp. in PocketPC and MorphOS.
Stubbed SysEx command 2 (start of song) to get rid of annoying warning.
Changed MT-32 instrument warnings to fit on one (80-char) line.

svn-id: r5842
2002-12-05 21:45:55 +00:00
Max Horn
1a97719ae5 fix warning when compiling w/o vorbis/mp3 support
svn-id: r5603
2002-11-19 01:52:22 +00:00
Jamieson Christian
5da9c10dab Fixes to Master/SFX/Music volumes:
- All are in 0-255 range now. No 0-127 mismatches.
- Master volume now affects SFX and Music, consistent with LEC behavior.
- The [ and ] keys now affect Music volume, not Master. Consistent with LEC behavior.
Also changed [ and ] increment to 16, for 256/16 = 16 volume increments outside the GUI.

svn-id: r5592
2002-11-17 17:59:00 +00:00
Max Horn
775adc7a4f more initialisation fixes
svn-id: r5533
2002-11-13 15:08:22 +00:00
Max Horn
973032dd90 fixed warnings
svn-id: r5425
2002-11-05 21:29:44 +00:00
Max Horn
4bde7140a2 fix for bug #633082; added some asserts to catch similiar problems in the future
svn-id: r5417
2002-11-05 13:39:09 +00:00
Jonathan Gray
6614318d2f fix the fixme.. changing one of the pcm_seek calls back to time_seek was what I meant to do...
svn-id: r5356
2002-10-31 00:39:48 +00:00
Jonathan Gray
605b7f1d2a force non integer math to make loom work properly with vorbis again
svn-id: r5355
2002-10-31 00:32:54 +00:00
James Brown
63ee97b1ee Fix using MAD -without- Vorbis, and remove COMPRESSED_SOUND_FILE define.
Please keep in mind that if you put an 'else' statement in an if clause, keep in mind that if the code it's supposed to
'else' is in another define.... and that isn't set... the NEXT statement of code will be used as the 'if..else'
condition.

svn-id: r5344
2002-10-28 12:56:42 +00:00
Paweł Kołodziejski
bf3505da5c don't put samples into stream SoundMixer if sound card is disabled
svn-id: r5338
2002-10-27 19:32:36 +00:00
Travis Howell
a0734ef3f9 Add monster.sog support, patch #629362
Enable ogg support by default in mingw builds and link in ogg lib

svn-id: r5333
2002-10-27 11:41:08 +00:00
Jonathan Gray
d93e639086 patch #628997 support for ogg vorbis instead of cd tracks by Daniel Schepler. Uncomment the relevant lines in the makefile to use
svn-id: r5320
2002-10-27 01:12:10 +00:00
Max Horn
ab13e67b09 fix -Wshadow warnings
svn-id: r5270
2002-10-23 00:24:43 +00:00
Max Horn
5151e561d5 fixing various warnings that occur with -Wshadow;some other minor cleanup
svn-id: r5239
2002-10-22 11:48:24 +00:00
James Brown
34ec25201c Patch 622642
svn-id: r5218
2002-10-21 16:27:23 +00:00
Max Horn
8af300fec3 The terms Word and DWord are somewhat Windows centric; in fact there are systems on which word is 32bit, as opposed to our 16 bits. Hence, use the uin16/uint32 naming scheme, which is not ambigious
svn-id: r5216
2002-10-21 13:23:25 +00:00
Max Horn
31c773923e use File::size() method were it makes sense; one small change to simon.cpp based on comment on bug #595813
svn-id: r5210
2002-10-21 12:34:54 +00:00
James Brown
628eea3de4 Patch 625904: CD Looping
svn-id: r5199
2002-10-20 13:17:43 +00:00
James Brown
80ce915f3d Fix Wait:forActorDraw and the 'infinite mouth movement' problem in The Dig.
Code assumed that the actor always starts talking in the same room it finishes talking in - this doesn't apply for several cutscene
sequences in The Dig. Also added the usual talkChannel fallback code in for The Dig.

svn-id: r5186
2002-10-18 11:45:57 +00:00
James Brown
96c900f095 Make it possible to disable digitalimuse by just commenting out it's
creation in scummvm.cpp

svn-id: r5162
2002-10-16 09:11:08 +00:00
Paweł Kołodziejski
41b61adac0 fixes to imuse
svn-id: r5161
2002-10-16 07:59:11 +00:00
Paweł Kołodziejski
09225027f1 changes to imuse
svn-id: r5157
2002-10-15 21:55:04 +00:00
Paweł Kołodziejski
45b1a8ea45 cleanup sfx and music in imuse, changed talkdelay description(disable) in the dig
svn-id: r5148
2002-10-15 06:53:42 +00:00
Paweł Kołodziejski
63762d48de synced with local sources (imuse)
svn-id: r5110
2002-10-08 19:35:39 +00:00
Paweł Kołodziejski
f9b36a3404 applied patch: #619275
svn-id: r5099
2002-10-06 15:31:58 +00:00
Paweł Kołodziejski
60874d4200 hack: enabled exit from loop on bad opcode.
some FT samples (ex. 362) has bad length, 2 bytes

svn-id: r5098
2002-10-06 10:55:04 +00:00
Paweł Kołodziejski
01ccb6be9a added looping voc samples in imuse(not tested)
svn-id: r5087
2002-10-04 08:04:35 +00:00
Paweł Kołodziejski
aa2d21d68e FT also use Imuse
svn-id: r5086
2002-10-03 23:16:10 +00:00
Max Horn
a9d25bb24a patch #617417: Sound fix for Sam & Max demo
svn-id: r5085
2002-10-03 09:16:14 +00:00
Paweł Kołodziejski
518cfaafcc fixed compilation and indent
svn-id: r5077
2002-10-02 17:52:20 +00:00
Paweł Kołodziejski
98d90696ad added panning control in imuse and reverse stereo support
svn-id: r5076
2002-10-02 17:31:55 +00:00
Max Horn
f3281f93c5 patch #617419: SAM: sound fix
svn-id: r5075
2002-10-02 17:30:26 +00:00
James Brown
b7e83decd7 Fix 'isSoundRunning' for Creative samples (eg, Full Throttle)
svn-id: r5072
2002-10-02 10:12:19 +00:00
Paweł Kołodziejski
ce182dbaf3 changed from byte to int16 to handle sound number greater than 255
svn-id: r5056
2002-09-30 22:59:42 +00:00
Paweł Kołodziejski
5d6498faef changed the dig music into stream sound
svn-id: r5054
2002-09-30 19:31:41 +00:00
Paweł Kołodziejski
a9c1eb6075 synced with local sources (imuse)
svn-id: r5053
2002-09-30 19:10:35 +00:00
James Brown
4a64ba5024 Patch #616146: Hack to prevent multiple sounds on DOTT/SamNmax (not sure if it's the correct
behavior for Sam, seems right for DOTT tho)

svn-id: r5034
2002-09-29 15:12:18 +00:00
Paweł Kołodziejski
037b08130e framework of Imuse sound for The Dig
svn-id: r5031
2002-09-29 07:08:31 +00:00
Max Horn
09f56dc233 some fixes for the message dialog; added some comments
svn-id: r5021
2002-09-26 12:29:10 +00:00
James Brown
522ee88b62 Patch 614223: _sfxMode fix
svn-id: r5019
2002-09-26 09:59:47 +00:00
Max Horn
a681eb029e renamec string -> _string and sentence -> _sentence in class Scumm (I originally reworked StringTab, but then noticed the save game format depends on it <sigh>)
svn-id: r4995
2002-09-22 01:17:53 +00:00
Max Horn
e886ba64d2 yet more warning fixes
svn-id: r4992
2002-09-22 00:04:04 +00:00