Commit Graph
73 Commits
Author SHA1 Message Date
Cameron Cawley d6d098394c AGOS: Use proper filenames for the Acorn Floppy version of Simon 1 2022-12-11 22:41:14 +01:00
Le Philousophe 429afa3a34 AGOS: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Coen Rampen 0fafb0ee19 AGOS: Fix Waxworks crash when playing digital SFX
Waxworks DOS has both digital and limited MIDI SFX. The game scripts use two
different opcodes for trigging digital and MIDI SFX; if a sound effect has both
a digital and a MIDI version, both opcodes are triggered. When digital SFX are
active, ScummVM would try to handle both the digital and the MIDI opcode by
playing a digital SFX. This would crash the game if the MIDI SFX ID was invalid
as a digital SFX ID. Strangely enough, this bug also seems to affect the Amiga
version. Apparently both opcodes are still in the scripts of this version, even
though it does not support MIDI at all AFAIK.

This commit fixes the issue by only playing the MIDI SFX if digital SFX are
turned off and ignoring them otherwise.
2022-08-05 22:16:43 +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
Coen Rampen a72704764b AGOS: Fix Simon 2 intro first scene MT-32 music
The first scene of the Simon The Sorcerer 2 intro uses 3 music tracks. The last
2 are missing from the MT-32 MIDI data set. The original interpreter just stops
playing music after the first track and does not restart until the next scene.

This commit fixes this problem by using the GM versions of these 2 tracks
instead and mapping the GM instruments to MT-32 ones.
2022-05-09 17:19:43 +02:00
Coen Rampen f1e3c12895 AGOS: Improve Simon 2 MIDI code
The DOS versions of Simon the Sorcerer 2 now use the Miles drivers. AdLib now
sounds like the original does. ScummVM would use the second set of XMIDI data,
written for the MT-32, for GM with instrument remapping. Now the first set is
used, which uses GM instruments and has extra instruments on several pieces.
For all versions music fade-outs have been added during screen fades.
2022-05-09 17:19:42 +02:00
Coen Rampen 7b3949aed6 AGOS: Improve Simon 1 MIDI code
The MIDI code now supports mixed MIDI mode for the DOS floppy version of
Simon 1. The code for loading the various MIDI formats has been simplified.
2022-05-09 17:19:42 +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
Mathias Parnaudeau 8b816cf0ea AGOS: Fix format-overflow warnings
Slightly increase the destination buffer to satisfy the theorical
copy of 5 characters for a 16-bit value.
2021-04-27 04:00:01 +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
Ori Avtalion 5e49800901 AGOS: Reduce audio header dependencies 2016-04-14 16:48:02 +03:00
Matthew Hoops ec5df573cb AGOS: Mark the audio CD playback as emulate only 2016-03-13 13:53:26 +01:00
Kirben cf92118507 AGOS: Fix turning music on and off in Amiga versions. 2015-07-05 11:41:10 +10: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
Johannes Schickel c4fc0cee96 AGOS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel 047df69407 AGOS: Use Common::File instead of SearchMan.
This makes sure the hack from Common::File for filenames with a trailing dot
is used as expected.
2014-01-22 00:53:21 +01:00
Johannes Schickel 1cee8439e7 AGOS: Get rid of ArchiveMan in favor of global SearchMan.
This in fact slightly changes the priority order of added archives. Formerly,
all archives in SearchMan were preferred to the customly added ones in
ArchiveMan. All standard paths (i.e. path and extrapath) will be still be
searched before the custom ones (which are all priority 0 right now) but system
specific paths will be searched after (due to their priority being -1). Since
system specific paths shouldn't contain any game data files this should
hopefully be harmless.

This wasn't tested for games with CAB archives.
2014-01-22 00:30:28 +01:00
Johannes Schickel a231f9d5dd AGOS: Rename ArchiveMan's open to createReadStreamForMember to match our Archive API. 2012-01-27 20:30:02 +01:00
Eugene Sandulenko 0e1affcc97 AGOS: Fix warnings 2011-11-02 22:55:58 +00:00
Johannes Schickel 507b9a75e7 AGOS: Made some static data const. 2011-09-08 00:38:39 +02:00
Travis Howell 5346ac18b7 AGOS: Integrate InstallShield support. 2011-08-27 11:00:24 -04:00
Eugene Sandulenko 6e795a89b0 AGOS: Reduced header dependency 2011-08-06 11:28:40 +01: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
Max Horn 2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn 059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Max Horn 82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Max Horn a1dd7a07a1 ENGINES: Remove some 'using' statements
svn-id: r54001
2010-11-01 16:00:17 +00:00
Alejandro Marzini e1ef3cd9fc Renamed getAudioCD to getAudioCDManager.
svn-id: r49678
2010-06-15 04:13:12 +00:00
Alejandro Marzini e991cd8c53 - Revised abstract AudioCDManager.
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem.
- Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL.

svn-id: r49548
2010-06-09 20:09:57 +00:00
Ori Avtalion 2fc9d6845b Apply patch #2982163 - CONFIG: Use HE keyword instead of HB for the Hebrew language
svn-id: r48645
2010-04-12 21:21:06 +00:00
Max Horn a1840bd573 AUDIO: Rename Mixer::playInputStream to playStream
svn-id: r48637
2010-04-12 09:14:17 +00:00
Max Horn 68826c27da Get rid of Mixer::playRaw for good
svn-id: r47394
2010-01-19 22:19:43 +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
Travis Howell 845106c3b9 Remove last ioFailed() usage in AGOS game engine.
svn-id: r42481
2009-07-14 13:55:10 +00:00
Travis Howell 1e568222e4 Set the correct sound rate for Personal Nightmare.
svn-id: r42202
2009-07-07 07:02:04 +00:00
Travis Howell 6b962cda4e Add support for unpacked data files, in the PC version of PN.
svn-id: r40192
2009-04-29 05:41:44 +00:00
Travis Howell e15dd070f8 Fix sound effects regression in Waxworks.
svn-id: r40023
2009-04-20 05:19:42 +00:00
Travis Howell 2620d6836c Add initial support for Personal Nightmare.
Thanks to dreammaster for file decompression and icon decoding code.

NOTE: setjmp/longjmp code will require conversion for portability.

svn-id: r39216
2009-03-08 08:45:21 +00:00
Travis Howell 5ef6d928b9 Cleanup.
svn-id: r35477
2008-12-22 00:32:01 +00:00
Travis Howell bff3c9cf60 Cleanup.
svn-id: r35348
2008-12-14 01:13:59 +00:00
Travis Howell 52930616c6 And don't attempt to play sound, when the sound file isn't loaded in The Feeble Files.
svn-id: r31240
2008-03-26 04:07:32 +00:00
Travis Howell 44200b4ac6 Remove error for missing sound files in The Feeble Files, due to fault in French version.
svn-id: r31239
2008-03-26 04:04:14 +00:00
Travis Howell 63b1de5628 Add support for room states in Waxworks (DOS).
svn-id: r31218
2008-03-22 09:46:25 +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
Travis Howell bb2796c57a Add support for multi-tune Protracker modules used in the Amiga version of Waxworks.
svn-id: r28256
2007-07-28 07:52:24 +00:00
Travis Howell 00829f15c8 Minor cleanup.
svn-id: r27580
2007-06-21 06:37:00 +00:00
Travis Howell 8f2714cc77 Fix regressions, due to playSpeech() no longer been virtual match.
svn-id: r27556
2007-06-20 14:41:19 +00:00