Commit Graph
37 Commits
Author SHA1 Message Date
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
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
athrxx 574133086d AGOS: (ELVIRA/PC98/Jp) - add Japanese font drawing
- Add dual layer graphics display to display the Japanese characters in their proper (double) resolution on top of the graphics. The original actually uses text mode.
- Adapt mouse handling to dual layer code.
- For consistency I got rid of all direct calls to _system->lockScreen() and _system->unlockScreen(), even in the sub engines that aren't affected. I find it easier to debug and to maintain this way.
2021-01-22 00:47:58 +01:00
Ori Avtalion 5e49800901 AGOS: Reduce audio header dependencies 2016-04-14 16:48:02 +03:00
Johannes Schickel c4fc0cee96 AGOS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel 01daff0f1d AGOS: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel 28b74b14ec AGOS: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:31 +02: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
Johannes Schickel 2b62f6bec3 AGOS: Adapt to setPalette RGBA->RGB change.
I only (minimally) tested this change with Simon 1 + 2 DOS CD.
2011-02-15 23:22:30 +01:00
Max Horn 2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Max Horn ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Torbjörn Andersson ede57eb61b Removed some unnecessary whitespace. (Or should I have saved that for the
rapidly approaching, much coveted r50000? :-)

svn-id: r49558
2010-06-10 04:29:34 +00:00
Travis Howell 1c15bcf87d Add option to disable later games (Feeble Files, Puzzle Pack) in AGOS game engine, which require higher resolution.
svn-id: r43270
2009-08-11 14:42:44 +00:00
Travis Howell 66311e3248 Fix fade effects in Waxworks.
svn-id: r42638
2009-07-21 10:37:58 +00:00
Travis Howell 74178f090c Fix bug #2822956 - ELVIRA2: Crash at the beginning (regression).
svn-id: r42560
2009-07-17 09:56:03 +00:00
Travis Howell dc0f6dce76 Use graphics surfaces for screen buffers, and always use correct pitch when writing to the frameBuffer.
svn-id: r42163
2009-07-06 06:21:59 +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
Torbjörn Andersson 7b15433572 Removed unnecessary semi-colons.
svn-id: r30476
2008-01-13 22:12:35 +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 d36ca0f7a5 Ooops, adjust Elvira 2 specific offset too.
svn-id: r27648
2007-06-23 07:49:17 +00:00
Travis Howell ee143c01ed Minor cleanup.
svn-id: r27646
2007-06-23 07:40:25 +00:00
Travis Howell f311ca82ce Fix alignment issue in setWindowPalete video opcode.
svn-id: r27645
2007-06-23 07:25:50 +00:00
Travis Howell 00829f15c8 Minor cleanup.
svn-id: r27580
2007-06-21 06:37:00 +00:00
Travis Howell 89b2cf75e2 Use frameBuffer directly, in order to drop extra buffer (frontBuffer) and cleanup code.
svn-id: r27577
2007-06-21 03:14:20 +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
Travis Howell 9d041cc059 Add sound effects code for Amiga and AtariST versions of Elvira 2.
svn-id: r26989
2007-05-28 11:22:53 +00:00
Travis Howell c80aa94091 Add dissolve code for Elvira 2 and Waxworks.
svn-id: r26881
2007-05-20 04:47:12 +00:00
Travis Howell b6672f37a9 Fix bugs #941074 and #828860, by switching to graphics renderer code used by earlier (non-Windows) versions of Simon the Sorcerer 1/2.
svn-id: r26825
2007-05-13 08:46:48 +00:00
Travis Howell 20bf83a2ce Imrproved support for Elvira 1/2 and Waxworks.
svn-id: r26792
2007-05-09 15:36:05 +00:00
Travis Howell e2c40aaee6 Fix inventory palette glitches in Elvira 2.
svn-id: r26775
2007-05-07 08:47:40 +00:00
Travis Howell 2d3e77db85 Split game engines, to allow further cleanups.
svn-id: r26481
2007-04-15 05:04:48 +00:00
Travis Howell bd0a327a39 Remove vga opcodes which are never used by games
svn-id: r24557
2006-10-28 14:08:35 +00:00
Travis Howell f1accee702 Cleanup
svn-id: r24531
2006-10-27 12:55:48 +00:00