Commit graph

62 commits

Author SHA1 Message Date
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
athrxx
a3fd19265f AGOS: (ELVIRA/PC98/Jp) - add sound driver
Added support for PC9801-26, Roland MT-32 and General Midi. I have left out the PC speaker part for now.
2021-01-22 00:47:59 +01:00
athrxx
bb8c70f865 AGOS: (ELVIRA/PC98/Jp) - fix startup
Add necessary file name and file format modifications so that the game at least loads up and runs up to the start scene without glitches.
2021-01-22 00:47:58 +01:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
a9bfe35216 GUI: U32: More issue fixes and general improvements
- Use the fake constructor for message dialog less often
- solve errors regarding comparision between string and u32string in midi
- solve errors in testbed/speech related to ttsMan->say
- fix unsigned comparision warning in tab.cpp
- fix issue with static strings and translations in sdl-graphics
2020-08-30 14:43:41 +02:00
D G Turner
3a0ed17e66 AGOS: Fix Accolade MIDI Driver Compilation Breakage
These were broken by the last PR merge which included a cpp file in a
way which will not build reliably. This splits the Accolade MIDI driver
structure definitions into headers allowing these to be included
instead.

Also, minor cleanup by removal of unused header includes.
2019-06-03 19:35:48 +01:00
Fedor Antokhin
b1bd75a083 AGOS: Mute fix for ADLIB Accolade 2019-06-03 17:06:00 +01:00
Adrian Frühwirth
49116b4ae7 ALL: Use CLIP to clip volumes 2018-05-05 17:57:31 +02:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Kirben
11c7d38e09 AGOS: Fix music looping in disk version of Simon1, a regression from svn 22907. 2015-07-24 20:34:52 +10:00
Johannes Schickel
757077fecc AGOS: Add simple volume control when Simon1 AdLib output is used. 2015-07-23 22:33:57 +02:00
Johannes Schickel
cf42dc0a35 AGOS: Slight cleanup in Simon1 AdLib output initialization code. 2015-07-23 22:33:56 +02:00
Johannes Schickel
33c57c632c Revert "AGOS: Add updated patch for #647 - Simon 1 DOS Adlib instrument bank"
This reverts commit 06addfc404.

We implement the actual Simon1 DOS AdLib driver now, thus this code is
obsolete.
2015-07-23 22:33:56 +02:00
Johannes Schickel
979a885ef9 AGOS: Add initial version of Simon1 DOS AdLib output.
Testing so far has not really happened. Only the first part of the intro has
been tested.
2015-07-23 22:33:56 +02:00
Kirben
a7fe40d3b1 AGOS: The sound effects in Simon the Sorcerer 1 (Floppy) are only meant for Adlib. 2015-07-05 11:20:39 +10:00
Kirben
a4b8c6e054 AGOS: Revert 46d1c106ca:
AGOS: Give each MIDI track its own loop flag

Since the changes broke looping in Simon the Sorcerer 2.
2015-07-05 10:58:35 +10:00
Martin Kiewitz
96005c7da9 AUDIO: Miles Audio AdLib instrument stream support
- not using byte pointer + size and instead now a
  SeekableReadStream for factory
- adjusted ACCESS + AGOS engines accordingly
2015-07-04 12:55:49 +02:00
Martin Kiewitz
7753f2d516 AGOS: Simon 2: use common PKWARE data comp. lib
use PKWARE data compression library code from COMMON/
AdLib drivers will get changed to use streams too
2015-07-04 01:50:07 +02:00
Martin Kiewitz
870b33743f AGOS: Simon 2: extract MIDPAK.AD from SETUP.SHR
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
2015-07-03 21:02:13 +02:00
Martin Kiewitz
453a800754 AGOS: music: simplified music-mode code in open()
combined both Accolade + Miles Audio initial open() code
2015-07-03 01:09:36 +02:00
Martin Kiewitz
32c5c2f50f AGOS: disable Miles Audio for Simon 2
enabled it by accident in the last commit
2015-07-03 00:59:17 +02:00
Martin Kiewitz
bfa7d89500 AGOS: Accolade music: read driver data in factory
moved driver reading code into factory of both Accolade music drivers
2015-07-03 00:52:36 +02:00
Martin Kiewitz
710aeb380b AGOS: SIMON2: set nativeMT32, so mt32 tracks get
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.
2015-07-01 20:39:00 +02:00
Martin Kiewitz
b38c161c18 AGOS: add Miles Audio support for simon 2
currently not enabled by default, because there are some
issues.
2015-07-01 12:40:16 +02:00
Martin Kiewitz
5f77bcc74c AGOS: Accolade MT32: General MIDI mapping
- 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
2015-06-21 10:06:12 +02:00
Martin Kiewitz
3f9c44c743 AGOS: Accolade AdLib/MT32 driver naming cleanup 2015-06-21 03:23:01 +02:00
Martin Kiewitz
ac505b5c71 AGOS: Elvira 2 MUSIC.DRV variant comment added 2015-06-21 01:22:57 +02:00
Martin Kiewitz
69436f6c41 AGOS: Elvira 2 seems to use MUSIC.DRV variant
- 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
2015-06-21 01:20:21 +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
Kirben
06addfc404 AGOS: Add updated patch for #647 - Simon 1 DOS Adlib instrument bank 2015-05-26 13:23:20 +10:00
Torbjörn Andersson
46d1c106ca AGOS: Give each MIDI track its own loop flag
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.
2014-08-18 13:45:20 +02:00
Kirben
cc1a570f96 AGOS: Revert my MIDI changes that caused bug #6664. 2014-06-29 23:36:11 +10:00
Kirben
ac9182181d AGOS: Fix music looping when using Roland MT-32 music in Simon the Sorcerer 2. 2014-04-13 19:51:33 +10:00
Johannes Schickel
c4fc0cee96 AGOS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Eugene Sandulenko
0e1affcc97 AGOS: Fix warnings 2011-11-02 22:55:58 +00:00
Travis Howell
d5a763b763 AGOS: Update MidiPlayer::~MidiPlayer() to match the default implementation. Hopefully will fix bug #3419778, thanks to digitall for the pointer. 2011-10-07 14:38:24 +11:00
Eugene Sandulenko
6e795a89b0 AGOS: Reduced header dependency 2011-08-06 11:28:40 +01:00
Matthew Hoops
eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04: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
088bd7a70b ENGINES: Remove unused MIDI pass-through code 2011-03-23 17:07:48 +01:00
Max Horn
e70fd59b35 ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
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.
2011-03-23 16:49:41 +01:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
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.
2011-03-23 15:25:47 +01:00
Max Horn
2bc842dcee AGOS: Sanitize the mutex locking in MidiPlayer::startTrack 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
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.
2011-03-22 23:51:47 +01:00
Max Horn
a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Johannes Schickel
6588398ce6 MIDI: Send a reset MIDI device signal on startup.
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
2010-09-15 22:00:20 +00:00
Torbjörn Andersson
9fafc85919 Cleanup.
svn-id: r50929
2010-07-16 03:35:44 +00:00
Johannes Schickel
0d995c5920 Rename all "Adlib" uses to "AdLib" to match the real name of the sound card / 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
2010-01-12 21:07:56 +00:00
Christopher Page
fcc00f20b9 Merged revisions 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
2008-08-10 21:58:18 +00:00