Commit graph

17 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
Bertrand Augereau
830d1b702a Made Player::decode_sysex_bytes const-correct.
svn-id: r9672
2003-08-13 22:43:08 +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
Jamieson Christian
452735e320 Some last SysEx cleanup.
svn-id: r8223
2003-06-01 04:05:13 +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
991b2997d4 More cleanup, plus more crash-aversion fixes.
Restored the -t command line option that had gotten lost in the revamp.

svn-id: r7962
2003-05-25 16:40:17 +00:00
Jamieson Christian
9d53046039 Fixed music starting at incorrect location when loading game
svn-id: r7961
2003-05-25 16:21:55 +00:00
Jamieson Christian
0768f103ea Put the comment back on IMUSE_DEBUG. Duh.
svn-id: r7903
2003-05-24 19:51:29 +00:00
Jamieson Christian
34162afd9e Removed more unnecessary code
svn-id: r7901
2003-05-24 19:43:20 +00:00
Jamieson Christian
30affb5fbc Various iMuse cleanup
svn-id: r7900
2003-05-24 19:20:52 +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