Commit Graph
28 Commits
Author SHA1 Message Date
Coen Rampen 287490fe0b AGOS: Fix some Elvira 1 tracks not looping
Some Elvira 1 music tracks would not loop properly. These tracks make use of
the loop event, which stores the position in the MIDI stream where the parser
will later loop to. An event is optionally preceded by a delta, as indicated by
the _noDelta property of the parser. However, when looping, this flag was not
set to the state matching the event after the loop point. This would sometimes
cause the parser to interpret a MIDI event as a delta, which would break the
parsing.
This is fixed by storing the _noDelta flag with the loop data and setting it
to the stored value when looping.
2022-05-16 12:18:11 +02:00
Coen Rampen 66bb075f1c AGOS: Add E2/WW AdLib and MT-32 SFX and enhancements
This adds support for the AdLib and MT-32 sound effects in Elvira 2 and
Waxworks. It adds an option to the UI to toggle between sampled and
synthesized SFX. It also adds the following enhancements:
- AdLib OPL3 mode for Elvira 2, Waxworks and Simon 1 floppy demo. This can be
selected using a new UI option.
- Mixed AdLib/MIDI mode for Elvira 2 and Waxworks.
- Implemented "monophonic chords", a feature of the original MIDI code which
would play only the highest note of a chord on AdLib. Most noticable in the
Waxworks music.
- Added UI option to select Simon 1 DOS music tempos.
- Rewrite of the AdLib and MT-32 drivers to remove duplication and make use of
features of the standard multisource drivers.
- Refactored MidiPlayer to standardize interface and remove code moved to the
drivers and parsers.
2022-05-09 17:19:44 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 8c81b5026a AGOS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Bastien Bouclet 1624da8c99 AGOS: Add override keywords 2020-02-09 12:43:14 +01:00
Martin Kiewitz 155d554183 AGOS: MidiParser_S1D: do proper skipping of SysEx
figured out the code that the original interpreters used to
skip over the header-SysEx
2015-06-21 11:19:28 +02:00
Martin Kiewitz d24c68c739 AGOS: implement Accolade AdLib + MT32 music drivers
- 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
2015-06-21 00:45:45 +02:00
Johannes Schickel c4fc0cee96 AGOS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel 56e59aaea6 AGOS: Rewrite note on events with velocity 0 to note off events in MidiParser_S1D. 2012-09-21 23:55:26 +02:00
Alyssa Milburn f08978a075 JANITORIAL: Remove underscores from MidiParser variable names. 2012-09-07 23:04:34 +02:00
Johannes Schickel f705a9b286 AGOS: Proper implementation of the Simon 1 demo aka Accolade MIDI parser.
This is based on the Elvira 1 demo.
2011-08-21 04:49:48 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Travis Howell 29cd90ec1b Add patch #2823590 - Fix music crashes in Waxworks (PC).
svn-id: r42606
2009-07-19 09:09:56 +00:00
Max Horn 341bc64aaf do not include common/debug.h from common/util.h
svn-id: r36143
2009-01-30 05:25:17 +00:00
Travis Howell 7047e5e974 Remove left over debug code.
svn-id: r31225
2008-03-23 00:36:41 +00:00
Travis Howell 56711f1489 Add comments about unknown cases and remove unused cases in parseNextEvent().
svn-id: r31224
2008-03-23 00:34:39 +00:00
Nicola Mettifogo 258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn 218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn 728d01cb17 Removing some unnecessary #includes
svn-id: r26044
2007-03-09 23:46:45 +00:00
Travis Howell 6810993828 Add more menu code for Elvira 1
svn-id: r24486
2006-10-24 07:44:37 +00:00
Travis Howell 4913db7168 Add extra events, which are triggered by Elvira 1/2 and WW
svn-id: r24408
2006-10-21 12:59:23 +00:00
Torbjörn Andersson 86d3f30347 Dummy handler for music commands 0xA and 0xB to keep Elvira1 from crashing. It
also seems to restore the missing first note of the intro music.

svn-id: r24406
2006-10-21 12:22:30 +00:00
Travis Howell d7ac158813 Add Amiga versions of Elvira 1/2 and Waxworks
svn-id: r24120
2006-10-05 03:43:40 +00:00
Travis Howell 9e097f60ab Add changes and enable music for Elvira1
svn-id: r24091
2006-10-03 00:31:24 +00:00
Eugene Sandulenko bb1547ab1c Phase 5 of Simon engine renaming. Renamed namespace Simon -> AGOS and
SimonEngine -> AGOSEngine.

Source is compilable and runnable again. I'm done.

svn-id: r24013
2006-09-29 09:44:30 +00:00
Eugene Sandulenko 798c7ee682 Phase 2 of Simon renaming. Simon directory renaming
svn-id: r24009
2006-09-29 08:37:24 +00:00