Commit Graph

47 Commits

Author SHA1 Message Date
Max Horn
2ed4677ede const as const can
svn-id: r10555
2003-10-03 00:59:27 +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
044bcd5430 Added terminate() to the MusicEngine and publicized
the iMuse implementation. This allows the termination
sequence to be done BEFORE object destruction, so
that the destructor is not making calls that may not
be appropriate during object destruction. (Virtual
functions were the concern, although I'm not sure any
of that was happening anyway. Oh well, better to be
safe than sorry.)

I implemented an empty terminate() in the base class,
but the other MusicEngine derivatives may have stuff
in their destructors that should be moved to this
method. I didn't check.

svn-id: r10452
2003-09-28 00:03:24 +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
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
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
Jamieson Christian
121b00a6f7 Corrected timing mechanism for RO music streams.
RO streams have built-in timer markers (the
unknown 0xA0 mentioned in FR [742249]) that
override automated methods of updating
VAR_MUSIC_TIMER. Since these timer markers
do not seem to be present in AD resources, the
old mechanism is used if MD_ADLIB is the current
MidiDriver.

svn-id: r9720
2003-08-16 09:34:19 +00:00
Jamieson Christian
442c79671a Removed unused stuff.
svn-id: r9647
2003-08-12 07:32:43 +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
75db41750e getting rid of g_mixer; removing lots of whitespace
svn-id: r9527
2003-08-05 23:58:24 +00:00
Max Horn
7c2713f57a indention fix (so the code adheres to our indention rules)
svn-id: r9384
2003-08-01 20:39:16 +00:00
Max Horn
0df319e952 #include cleanup (explicityl specify the location for headers from common/, so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level)
svn-id: r9359
2003-08-01 12:21:04 +00:00
Max Horn
d098334fe6 updated code to use type MutexRef; added class StackLock (from sdl backend, now in util.*)
svn-id: r8777
2003-07-05 15:19:11 +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
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
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
Jamieson Christian
c88e0b5301 Fixed Adlib sound problem on old (small header) games. Thanks for eriktorbjorn for the material that led to the solution.
svn-id: r7610
2003-05-17 17:20:27 +00:00
Jamieson Christian
5a1e994d02 Added command line options for
native MT-32 support and
combination Adilb/native MIDI drivers.

svn-id: r7594
2003-05-17 03:06:16 +00:00
Jamieson Christian
053e7cb71e More IMuse cleanup
svn-id: r7578
2003-05-16 20:38:04 +00:00
Jamieson Christian
26d840e4fc IMuseDriver functionality absorbed into IMuseInternal.
Initial structural support for multiple MidiDriver's.

svn-id: r7559
2003-05-16 01:52:45 +00:00
Max Horn
be47bc121e cleanup
svn-id: r6847
2003-03-23 13:14:54 +00:00
Max Horn
0602882b18 cleanup
svn-id: r6832
2003-03-18 16:13:52 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Jamieson Christian
b5d8f469b6 Separated IMuseDigital into its own files.
svn-id: r6229
2002-12-28 14:40:56 +00:00
Max Horn
563f99b1fe more -pedantic warnings fixed
svn-id: r6109
2002-12-25 00:38:53 +00:00
Jamieson Christian
ebd2dc7f67 IMuseMonitor functionality now built into IMuse itself.
IMuseInternal no longer derives from IMuse.
This eliminates a couple layers of indirection and speeds things up.
Miscellaneous source cleanup.

svn-id: r6049
2002-12-21 21:09:36 +00:00
Jamieson Christian
14834cf645 Fixed myriad VC++ compile/link problems.
PLEASE DON'T MAKE CHANGES TO THE ACTUAL PROJECT FILES
UNLESS YOU MAKE THEM FOR *ALL* PRIMARY PORTS!

svn-id: r5900
2002-12-11 01:25:15 +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
Travis Howell
88bb9aed2b Add newline to end of file
svn-id: r5453
2002-11-07 07:03:37 +00:00
Max Horn
b6ba78a487 class -> struct to make Visual C++ happy
svn-id: r5450
2002-11-07 00:17:17 +00:00
Max Horn
80f1888b29 make it possible to #include imuse.h on its own
svn-id: r5443
2002-11-06 15:41:36 +00:00
Jamieson Christian
67c00eb7e6 Changed IMuse from a proxy into a virtual base class
svn-id: r5205
2002-10-21 07:31:51 +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
15675e5652 added delay before start playing sample to get chance for doComand
svn-id: r5109
2002-10-08 14:32:19 +00:00
Paweł Kołodziejski
42089431bd synced with local sources (imuse)
svn-id: r5107
2002-10-08 07:30:50 +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
830dfe090f changes in loops in imuse
svn-id: r5082
2002-10-03 07:42:25 +00:00
Paweł Kołodziejski
b8e5c8f76e synced with local sources
svn-id: r5080
2002-10-03 07:17:14 +00:00
Max Horn
a1f749994f unsigned <-> signed, local vars were not inited
svn-id: r5065
2002-10-01 22:39:15 +00:00
Paweł Kołodziejski
7d6ebdc289 added stopAll in Imuse
svn-id: r5064
2002-10-01 21:19:52 +00:00
Paweł Kołodziejski
e3cd40f700 synced with local sources - imuse
svn-id: r5060
2002-10-01 17:20:05 +00:00
Paweł Kołodziejski
c601bbd964 synced with local sources - imuse for the dig
svn-id: r5049
2002-09-30 06:04:50 +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
ce46866403 Initial revision
svn-id: r4785
2002-08-21 16:07:07 +00:00