Age | Commit message (Collapse) | Author |
|
Adlib.
|
|
AGOS: Give each MIDI track its own loop flag
Since the changes broke looping in Simon the Sorcerer 2.
|
|
- not using byte pointer + size and instead now a
SeekableReadStream for factory
- adjusted ACCESS + AGOS engines accordingly
|
|
use PKWARE data compression library code from COMMON/
AdLib drivers will get changed to use streams too
|
|
implements support for extracting MIDPAK.AD from SETUP.SHR
this way the user isn't required to install the game and can just
use the files copied from CD-ROM.
Files inside SETUP.SHR were compressed using PKWARE data compression
library.
PKWARE decompression code based on information released by
Ben Rudiak-Gould in comp.compression on 13.8.2001
Miles Audio support is still disabled atm
and has to be enabled manually
|
|
combined both Accolade + Miles Audio initial open() code
|
|
enabled it by accident in the last commit
|
|
moved driver reading code into factory of both Accolade music drivers
|
|
set _nativeMT32, so that the MT32 XMIDI track set is getting used
and not the general MIDI one for MT32 Miles Audio playback.
This should solve the MT32 music issues, although this needs
to get verified in detail.
|
|
currently not enabled by default, because there are some
issues.
|
|
- renamed _MT32 to _nativeMT32
this name doesn't really make sense, because MUNT isn't a native
MT32, but the name is common to the other engines
- implement MT32 -> General MIDI mapping in case no MT32 is
available
- implement dialog screen, so that user is told about General MIDI
mapping and that it may sound awful
|
|
|
|
|
|
- Kirben told me that Elvira 2 is shipped with MUSIC.DRV and
INSTR.DAT file. Using MUSIC.DRV file makes the music work properly
I couldn't check, b/c I own none of these games.
- also commented out implemented bug of INSTR.DAT/MUSIC.DRV
This bug only affected the adlib drivers, so I guess we should
rather fix it instead of implementing the same buggy behavior
|
|
- both known variants are supported (INSTR.DAT + MUSIC.DRV)
- INSTR.DAT/MUSIC.DRV holds channel mapping, instrument mapping, etc.
- fixed bug inside S1D MidiParser, that ruined some instrument changes
0xFC header was seen as 2 byte header, but it's 4 bytes in Elvira 2
and 5 bytes in Waxworks / Simon 1 demo
- dynamic channel allocation for the MUSIC.DRV adlib driver is not
implemented atm, simply because at least the demos of Waxworks and
Simon 1 do not use this feature
- sound effects of Waxworks are not implemented atm
- note: the game "Altered Destiny" uses Accolade INSTR.DAT variant too
|
|
|
|
This is needed because the MIDI resources have their own loop flag
that overrides the global one. This makes a difference for games
that use MIDI both for music and sound effects, such as (limited
to?) the floppy version of Simon the Sorcerer 1.
|
|
|
|
|
|
|
|
|
|
Hopefully will fix bug #3419778, thanks to digitall for the pointer.
|
|
|
|
|
|
|
|
Some backends may break as I only compiled SDL
|
|
|
|
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.
This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
|
|
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
|
|
|
|
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.
The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom
Also fixed some engines which were leaking MidiDriver instances.
|
|
svn-id: r54031
|
|
This is currently done in the engine code. I adapted AGI, AGOS, DRACI,
GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset
device on startup. The sound output still works fine (started up a game
from every engine), so this should hopefully not introduce any regressions.
As far as I can tell it seems that SCUMM does send a proper device reset, so
I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am
not sure about SCI though.
This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI".
svn-id: r52736
|
|
svn-id: r50929
|
|
/ company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)
This commit does not touch "adlib" and "ADLIB" uses!
Also it does not update all the SCUMM detection entries, which still use "Adlib".
svn-id: r47279
|
|
33719,33721-33723,33725-33727,33729-33730,33733,33736,33742,33754,33756,33758,33761,33763,33766 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
svn-id: r33769
|
|
moment, I'm
not aware of any game that actually uses this XMIDI feature, so its primary
function right now is to silence lots of warnings while running the DOS version
of Simon the Sorcerer 2.
svn-id: r33763
|
|
so that music and sfx are separately controlled via the Options menu
svn-id: r33065
|
|
been updated.
svn-id: r28966
|
|
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
|
|
svn-id: r25633
|
|
svn-id: r25631
|
|
svn-id: r25587
|
|
svn-id: r24397
|
|
svn-id: r24333
|
|
svn-id: r24182
|
|
SimonEngine -> AGOSEngine.
Source is compilable and runnable again. I'm done.
svn-id: r24013
|
|
svn-id: r24009
|