Commit Graph

48 Commits

Author SHA1 Message Date
Max Horn
071b09cab4 Flag 64 bit problem in iMuse, as well as what I think might be very old regression in our code
svn-id: r16477
2005-01-07 14:42:51 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
468758fa6c Use FM-TOWNS consistently
svn-id: r15345
2004-09-29 09:47:38 +00:00
Travis Howell
3632305c6c Ignore imuse control code in HE games
Add missing code for o6_stampobject (From diasm.)

svn-id: r13924
2004-06-02 13:32:16 +00:00
Travis Howell
5f4641d8a1 Use correct order, to prevent mingw warnings.
svn-id: r12865
2004-02-14 01:39:09 +00:00
Travis Howell
324ce1f4ef Init the correct way
svn-id: r12863
2004-02-14 01:12:02 +00:00
Travis Howell
d295d8bc21 ??ZZ
ZZZZ

Fix another valgrind warning, I hope this is right spot.

svn-id: r12380
2004-01-14 10:48:36 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
80aac33327 cleanup
svn-id: r11620
2003-12-13 21:06:47 +00:00
Paweł Kołodziejski
d5eddef057 changed some shift operators to *, /
svn-id: r11315
2003-11-16 20:52:57 +00:00
Paweł Kołodziejski
1f9e408e2f cleanup whitespaces
svn-id: r11217
2003-11-08 21:59:32 +00:00
Jamieson Christian
a722d0601e Preliminary preparation for new YM2612 FM emulator.
All the hooks are in, but actual implementation
needs to be checked for portability.

svn-id: r10615
2003-10-05 15:36:52 +00:00
Jamieson Christian
5fa23e5fee Fix for Bug [817242] ALL: MT-32 to GM key velocity conversion
Implemented dynamic range matching for MT-32 tracks
routed to GM output devices.

svn-id: r10573
2003-10-03 19:32:18 +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
2ed4677ede const as const can
svn-id: r10555
2003-10-03 00:59:27 +00:00
Jamieson Christian
70e8d2780d Cleanup, mostly related to matching up semantics
between Part and MidiChannel (which Part may
derive from eventually).

svn-id: r10480
2003-09-29 08:09:38 +00:00
Jamieson Christian
a30eb131bb Fix for Bug [810564] ALL: missing instruments with native MT-32
As defined in Patch [811623] MT-32 patch for Bug 810564

Added a channel mask to MPU-401 devices so that --native-mt32
may force the device to use only the subset of MIDI channels
actually supported by the MT-32. Also added a best-guess
interpretation of iMuse Part priority in the SysEx 0x00 msg,
since part priorities become more of an issue when the
channel count is cramped.

svn-id: r10409
2003-09-25 22:32:05 +00:00
Max Horn
be9d4066e1 moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
2003-09-18 02:07:18 +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
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
Jamieson Christian
5507d75228 Replaced VER_V* notation for savegames with
a simple number. So that it's still obvious
that the number refers to version, a VER()
macro does nothing to the number but makes
it obvious what the number is for. This
has the exact same effect as the enum that
was going to get more and more lengthy
as the savegame version evolved.

svn-id: r9901
2003-08-29 04:05:23 +00:00
Jamieson Christian
47c33674ec Fix for Bug [792178] MI1: Intro asynchronity regression
Reverted Hoenicke's change. Why was this change made anyway?
Do not reinstate the "tempo tweak" before talking to me
about why it was needed.

svn-id: r9810
2003-08-21 15:51:28 +00:00
Jochen Hoenicke
eb5f05fab3 More adlib tempo tweaks
svn-id: r9742
2003-08-17 16:32:36 +00:00
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
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
Bertrand Augereau
1a7bf49f34 Made Player::decode_sysex_bytes const-correct.
Explicitly stated a bit masking to please VC.NET2003 runtime small types conversion checks.

svn-id: r9673
2003-08-13 22:45:22 +00:00
Jamieson Christian
8281d8ad42 Fixed type mismatch warning
svn-id: r9594
2003-08-08 07:45:41 +00:00
Jamieson Christian
73eda504b9 Added missing break after case
svn-id: r9592
2003-08-08 07:06:46 +00:00
Jamieson Christian
93c90f4674 Fix for Bug [780924] IMUSE: Pitchbend isn't reset when changing tracks
When scanning (not jumping) to a target location
in a different track, the current track is first
scanned to the end to update the player state
before starting into the new track.

Miscellaneous scan-related cleanup is included.

svn-id: r9589
2003-08-07 23:42:15 +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
7c16006cc7 Fix for RC bug [780675] MI2: Reoccuring crash
Tightened up OOB track selection handling in
MidiParser. Apparently some SMFs in the Mac
version of MI2 (and other games?) specify
track -1 in their jump commands to indicate
a jump within the same track.

svn-id: r9321
2003-07-31 06:50:13 +00:00
Max Horn
4d5592cc5d sync implementation with interface
svn-id: r8671
2003-06-27 19:31:36 +00:00
Jamieson Christian
26076b8841 Hack to fix odd usage of the ParameterFader
in S&M around the dinosaurs.

svn-id: r8251
2003-06-01 19:16:34 +00:00
Max Horn
8cb9796d97 fixed mismatch between declaration and implementation
svn-id: r8172
2003-05-31 13:38:41 +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
11e59488ef Fixed occassional music crashes when loading games.
Thanks to eriktorbjorn for finding this issue.

svn-id: r7959
2003-05-25 15:47:06 +00:00
Jamieson Christian
66c2533681 Possible fix for hanging notes in iMuse
svn-id: r7902
2003-05-24 19:50:34 +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
0ffc4fe7da Fix for bug [742688] FOA: Missing music at Sophia's lecture.
Added check for 0-length parameter fades, just in case.

svn-id: r7887
2003-05-24 16:00:18 +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