Commit Graph
186 Commits
Author SHA1 Message Date
Jamieson Christian d7fae3d1cb More corrections to the VAR_MUSIC_TIMER
computations, mostly to produce the
exptected output with AD resources.

svn-id: r9730
2003-08-16 17:08:22 +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 4da3bf3a61 Fixed transpose/detune computations
svn-id: r9715
2003-08-16 06:17:27 +00:00
Travis Howell c258337b27 No need for those brackets
svn-id: r9694
2003-08-15 01:18:19 +00:00
Travis Howell 876383a9c9 Don't confuse RO and ROL sound resources
svn-id: r9693
2003-08-15 01:16:19 +00:00
Jamieson Christian 3a39c653af Added support for Roland MT-32 music tracks
in monkeyvga/ega. Tested in monkeyvga, but
not in monkeyega yet. There are still wrinkles
to work out, but the parser for the new format
is in and hooked up.

svn-id: r9684
2003-08-14 08:26:59 +00:00
Jamieson Christian 442c79671a Removed unused stuff.
svn-id: r9647
2003-08-12 07:32:43 +00:00
Jamieson Christian e8d04067a0 Fix for Bug [785373] SAM: Overlapping music at Bigfoot convention
Included the ImDeferredCommand list when checking for
sounds that have been queued to play. Also added
sound queue processing between execution of exit script
and entry script. In the case of this bug, the entry
script required that the iMuse state be fully up to
date, including last-moment changes from the previous
exit script.

svn-id: r9622
2003-08-10 11:44:43 +00:00
Chris Apers d910e7b066 In fact, Nicolas, this is no more needed :)
svn-id: r9584
2003-08-07 14:33:38 +00:00
Nicolas Bacca 1c1fd05a72 Remove old tweak that can break the music when restoring now ... Chris, you should check it too :p
svn-id: r9582
2003-08-06 21:07: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
Jamieson Christian 7453cabbbc Fix for Bug [780918] SAM: Music stops at Bumpusville
Tweaked handling of ImSetTrigger when the triggered
command starts a new song. If the song to be started
is already playing, we stop it (in preparation for
a restart) ONLY if the song containing the command
trigger is actually playing. Otherwise the restart
is likely to never occur (as is the case with the
Bumpusville mansion interior music).

svn-id: r9576
2003-08-06 17:47:29 +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 b05e7de7bb replaced SCUMMVM_VERSION/SCUMMVM_CVS by gScummVMVersion/gScummVMBuildDate/gScummVMFullVersion; made engine.o depend on all other .o files, so that the build date in it is always up-to-date
svn-id: r9032
2003-07-15 02:16:33 +00:00
Jamieson Christian 0fefe4602c Fix for bug [761637] FOA: Music problems in endgame/credits.
Revision to the handle_maker() fix for bug #733401, since that
didn't seem to take care of the problem. This fix chomps marker
queue entries if it finds a matching marker not at the head of
the queue. This might cause inappropriate behavior elsewhere;
regression testing is advised.

svn-id: r8831
2003-07-07 05:45:55 +00:00
Jamieson Christian f83a32464c Fix for bug [756555] ALL: With '-ewindows' notes don't stop at quit
and bug [755176] SIMON2: Hanging notes

More cleanup of the thread issues associated with iMuse and MidiParser
shutdown. Untested.

svn-id: r8546
2003-06-18 22:46:17 +00:00
Chris Apers d120ea093f I will add a wrapper for that (currently NULL driver)
svn-id: r8526
2003-06-17 08:50:15 +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 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
Chris Apers 6dd9f8c003 This was missing
svn-id: r8444
2003-06-12 07:46:48 +00:00
Jamieson Christian 65ca548502 Fixed MT-32 welcome message
svn-id: r8225
2003-06-01 04:15:10 +00:00
Jamieson Christian 452735e320 Some last SysEx cleanup.
svn-id: r8223
2003-06-01 04:05:13 +00:00
Jamieson Christian 7a2a739ea3 Teaking the MT-32 welcome message.
svn-id: r8207
2003-06-01 01:13:00 +00:00
Jamieson Christian 5e46155d3a Welcome message for MT-32 panels.
More for SysEx tests than anything.

svn-id: r8202
2003-06-01 00:42:01 +00:00
Travis Howell 383918313d Treat AMI music resoucres in monkey2 for Amiga as ROL for now, to allow music playback
svn-id: r8046
2003-05-28 11:56:50 +00:00
Jamieson Christian ebedd3b41c Fixed a MORONIC oob memory write. Now back to remedial C++ class
svn-id: r8019
2003-05-26 20:42:25 +00:00
Jamieson Christian b19a6d8574 Fixes possible crashes during music shutdown
svn-id: r8009
2003-05-26 14:51:13 +00:00
Jonathan Gray 0bd1f1d958 er oops
svn-id: r7914
2003-05-24 23:21:08 +00:00
Jamieson Christian 30affb5fbc Various iMuse cleanup
svn-id: r7900
2003-05-24 19:20:52 +00:00
Jonathan Gray c8276b4684 returning 1 instead of the id is the correct behaviour I believe, but the scripts check for a 0 result so either will work. I'm just picky :)
svn-id: r7871
2003-05-24 01:20:50 +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 c6568530bd Revamped iMuse and Player classes. Player now uses MidiParser to parse its data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver".
Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser).

*** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! ***

This has been tested through the intros and a number of other scenes from MI2, FOA and S&M.

NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned....

svn-id: r7849
2003-05-23 04:19:47 +00:00
Jamieson Christian 3c0fdf9917 Separated IMuse Player into its own file
svn-id: r7832
2003-05-22 16:15:48 +00:00
Jamieson Christian 2612a8f817 Added ParameterFader into savegame format.
Savegames are now version 17 (VER_V17).

svn-id: r7808
2003-05-21 21:38:03 +00:00
Jamieson Christian 38fc644cf6 Replaced VolumeFader with more generic ParameterFader
svn-id: r7803
2003-05-21 20:23:01 +00:00
Jamieson Christian 2dcd2531cf Integrated VolumeFader into each Player
svn-id: r7801
2003-05-21 19:33:50 +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
Jamieson Christian db8256df8a More thorough parameterFade and deferredCommand implementation.
Lot of guesswork. parameterFade STILL NEEDS A LOT OF WORK!
These additions at least partially correct the music behavior
in the Tunnel of Love when shorting the controls.

svn-id: r7704
2003-05-20 01:12:40 +00:00
Jamieson Christian f1982ec9d6 Updated doCommand(14) with new information.
Fixed music bug introduced with fix [712042].
Improved iMuse debug output.

svn-id: r7703
2003-05-19 22:29:35 +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 93825ff948 Fixed program change msgs being sent under Adlib
svn-id: r7615
2003-05-17 19:07:45 +00:00
Jamieson Christian fcc11d19fa Added imuse_multimidi to debugger
svn-id: r7614
2003-05-17 19:03:25 +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 124a34f72a Fixed volume fader problem under multiple MIDI drivers
svn-id: r7585
2003-05-16 23:13:47 +00:00
Jamieson Christian 48f73469e0 Redesigned -t option
svn-id: r7584
2003-05-16 22:28:33 +00:00
Jamieson Christian 5a15ce808a Feature [557411] Adlib sound effects with GM drivers.
Support for simultaneous drivers is based on a
#define in imuse.cpp, and is disabled by default.

svn-id: r7582
2003-05-16 22:00:33 +00:00
Jamieson Christian 3533843ac8 And yet more cleanup
svn-id: r7580
2003-05-16 21:06:54 +00:00
Jamieson Christian 053e7cb71e More IMuse cleanup
svn-id: r7578
2003-05-16 20:38:04 +00:00