Age | Commit message (Collapse) | Author |
|
This reverts commit 06addfc4041b3e20fd89dee46227e04f1c66fe52.
We implement the actual Simon1 DOS AdLib driver now, thus this code is
obsolete.
|
|
Testing so far has not really happened. Only the first part of the intro has
been tested.
|
|
Should have been removed in a4b8c6e054fec4a3555970a70430a90fa96db12e
but wasn't.
|
|
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
|
|
currently not enabled by default, because there are some
issues.
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
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: r55850
|
|
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: r45616
|
|
so that music and sfx are separately controlled via the Options menu
svn-id: r33065
|
|
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
|
|
svn-id: r25631
|
|
svn-id: r24397
|
|
SimonEngine -> AGOSEngine.
Source is compilable and runnable again. I'm done.
svn-id: r24013
|
|
svn-id: r24009
|