Commit Graph

228 Commits

Author SHA1 Message Date
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
Jamieson Christian
0ece527a69 FINALLY got MI2 Woodtick music working!
svn-id: r7577
2003-05-16 19:16:43 +00:00
Jamieson Christian
e503df12a6 Corrected overly aggressive MIDI channel reallocation
svn-id: r7575
2003-05-16 15:48:01 +00:00
Jamieson Christian
2c77fc14aa Fixed SysEx parse error, misc. cleanup
svn-id: r7565
2003-05-16 04:02:33 +00:00
Jamieson Christian
bfb68f513a Fixed game load crash
svn-id: r7561
2003-05-16 02:13:21 +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
Jamieson Christian
9f6b1bf3a1 Removed deprecated _program.
Miscellaneous cleanup.

svn-id: r7552
2003-05-15 23:08:03 +00:00
Jamieson Christian
69c118a43e Some more streamlining
svn-id: r7547
2003-05-15 22:31:56 +00:00
Jamieson Christian
420095e1f3 Whoops, disable debug
svn-id: r7533
2003-05-15 19:40:10 +00:00
Jamieson Christian
c13591816a More streamlining
svn-id: r7532
2003-05-15 19:39:10 +00:00
Jamieson Christian
00857367f3 Fixed S&M regression in World of Fish music.
Stripped out a bunch of deprecated stuff.

svn-id: r7529
2003-05-15 18:24:59 +00:00
Jamieson Christian
33c8c2fae8 Fixed panning issue
svn-id: r7524
2003-05-15 13:56:41 +00:00
Max Horn
8188d946b3 fixed warning
svn-id: r7383
2003-05-07 22:50:15 +00:00
Jamieson Christian
15bf5ba885 ..\..\msg.txt
svn-id: r7382
2003-05-07 19:24:14 +00:00
Jamieson Christian
a0c98d1f14 Interim fix for Bug [712042] FOA: Lockup.
Final fix will require a savegame format mod.

svn-id: r7358
2003-05-05 16:07:10 +00:00
Max Horn
2b74abd2c9 PalmOS changes
svn-id: r7224
2003-04-30 13:23:31 +00:00
Jamieson Christian
2a1e87fa7c Revised fix to bug [666187] DOTT: Coffee music never stops
svn-id: r7021
2003-04-19 14:23:40 +00:00
Jamieson Christian
20e22e6f29 Fix for bug [666187] DOTT: Coffee music never stops
svn-id: r7016
2003-04-18 14:38:31 +00:00
Max Horn
b25a47ffc5 Patch #691696: Possible fix for Adlib regression
svn-id: r6857
2003-03-25 00:28:09 +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
Paweł Kołodziejski
093428ae9a and more cleanup
svn-id: r6718
2003-03-06 17:58:13 +00:00
Jamieson Christian
b5d8f469b6 Separated IMuseDigital into its own files.
svn-id: r6229
2002-12-28 14:40:56 +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
Ruediger Hanke
9e0e918397 Fix midi driver thread for MorphOS
svn-id: r6123
2002-12-25 12:36:29 +00:00
Max Horn
563f99b1fe more -pedantic warnings fixed
svn-id: r6109
2002-12-25 00:38:53 +00:00
Jamieson Christian
01ffb7bec2 Fix to instrument load/save
svn-id: r6051
2002-12-21 23:19:42 +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
f60bda7d5c Implemented new instrumentation save/load.
Save/load version is now VER_V11.
Adlib/MT-32 instrumentation is now saved and loaded.
BACK UP YOUR VER_V10 SAVEGAMES, JUST IN CASE!

svn-id: r6044
2002-12-21 20:10:47 +00:00
Jamieson Christian
799da2baef [Bug #656635] fixed.
Adlib global instrument assignments are now correct.

svn-id: r6028
2002-12-20 13:09:01 +00:00
Jamieson Christian
b708c7dd64 Miscellaneous cleanup.
svn-id: r6021
2002-12-18 17:14:05 +00:00
Jamieson Christian
f95ea3afdf Fixed problems with instruments after load.
Ignore Adlib-only music when running native MIDI.
(Can't remember why I included them in the first place,
 so until I do remember, it's coming back out.)

svn-id: r6020
2002-12-18 14:57:25 +00:00
Jamieson Christian
d622df84d1 Damn, I just fixed this a bit ago! *self-bonk*
svn-id: r6019
2002-12-18 13:53:52 +00:00
Jamieson Christian
65ee19610c Instrument definition revamp.
IMuseDriver abstract class removed.
IMuseGM is now IMuseDriver.
Miscellaneous cleanup.

svn-id: r6017
2002-12-18 13:22:40 +00:00
Jamieson Christian
3427e29e46 Fixed SysEx parse bug
svn-id: r6015
2002-12-18 09:27:46 +00:00
Jamieson Christian
71e7d1512f message.log
svn-id: r6012
2002-12-18 07:48:02 +00:00
Jamieson Christian
83df060812 Miscellaneous cleanup.
Mostly changing comments to C++ style.
Welcome to ScummVM iMuse 2.00?

svn-id: r5975
2002-12-15 01:55:27 +00:00
Jamieson Christian
e2cb8112e5 Fixed last bad artifacts of Sam & Max carnival music.
Hopefully this fix doesn't break anything else....

svn-id: r5948
2002-12-14 02:51:37 +00:00
Jamieson Christian
2b8882427e Bug [651727] fix:
Initial implementation of do_command(20).

svn-id: r5929
2002-12-13 15:49:30 +00:00
Jamieson Christian
caf0eccb2d Bug [622895] fix:
Fixed do_command(256) implementation.

svn-id: r5927
2002-12-13 15:16:40 +00:00
Max Horn
bf62494fd5 ripped out obsolete midi streaming code from backends (this may break Alsa/SEQ/Windows/Morphos compile, I tried my best, but you'll have to clean up after me)
svn-id: r5905
2002-12-11 16:09:58 +00:00
Max Horn
4ddecdad58 Patch #650085: Make saveload system extensible
svn-id: r5885
2002-12-08 16:14:29 +00:00
Jamieson Christian
b382c79a41 Fixed music overlaps when running ScummVM with the -x option
svn-id: r5872
2002-12-07 18:03:10 +00:00
Jamieson Christian
ba0abd27d7 Fixed GM instrument dropouts on load
svn-id: r5868
2002-12-07 17:10:18 +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
9fb83e313a fixed a race condition during startup of ScummVM
svn-id: r5822
2002-12-03 17:54:25 +00:00
Jamieson Christian
791d92495e Removed commented-out vestiges of IMuseAdlib
svn-id: r5794
2002-12-01 20:16:54 +00:00
Jamieson Christian
cc6c37e1ad Fixed Adlib instrument setup in old (GF_SMALL_HEADER) games.
Restored MT-32 emulation lost during restructuring.

svn-id: r5786
2002-12-01 15:51:29 +00:00
Jamieson Christian
973164a741 Restructured MIDI channel allocation architecture.
Adlib no longer suffers from 16-channel MIDI restrictions.
Fixes a regression in the MI2 intro music under Adlib.

svn-id: r5721
2002-11-26 16:54:58 +00:00
Jamieson Christian
d2b94bd0e0 Fixed invalid ImSetTrigger invocations, which fixes invalid do_command(0) calls.
Also included is eriktorbjorn's fix for Adlib instrument setup.

svn-id: r5701
2002-11-23 16:15:33 +00:00
Jamieson Christian
a222ed17de Fixed Adlib instruments not getting initialized in certain cases.
svn-id: r5688
2002-11-21 22:07:40 +00:00
Jamieson Christian
c9ed09e7df Revamped Adlib functionality.
IMuseAdlib is defunct.
New MidiDriver_ADLIB device.
Simon 1/2 now supports Adlib.

svn-id: r5677
2002-11-21 19:06:42 +00:00
Max Horn
f2007606a9 fixed warning
svn-id: r5599
2002-11-18 20:05:25 +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
Jamieson Christian
c1344ee379 [Bug 590646] Fixed problem with small blips of music playing
when master/music volumes are changed in the ScummVM GUI.

svn-id: r5581
2002-11-16 14:23:22 +00:00
James Brown
f2f9f48faf Music tempo patch
svn-id: r5556
2002-11-15 10:36:50 +00:00
Jamieson Christian
788a1bddec Patch 637825, plus stubs for remaining MT32 instruments to reconcile
svn-id: r5542
2002-11-14 02:26:40 +00:00
Max Horn
c5847f6f3b more initialisation fixes
svn-id: r5532
2002-11-13 14:54:58 +00:00