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
Orgad Shaneh
8c81b5026a
AGOS: Use nullptr
...
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
sluicebox
93eeffc84d
JANITORIAL: Update old bug tracker numbers
2021-03-03 02:15:05 +02: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
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
Max Horn
8d1431a5ab
AGOS: cleanup
...
svn-id: r48227
2010-03-10 20:56:54 +00:00
Travis Howell
3f22122413
Correct vertical offset, when print stats in the AtariST version of Elvira 2.
...
svn-id: r39558
2009-03-20 10:01:00 +00:00
Travis Howell
356e803a95
Add work around for bug #2686883 - WAXWORKS: Crash in Jack the Ripper Zone.
...
svn-id: r39557
2009-03-20 09:59:40 +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
546744fec4
Code difference no longer required (fixed by revision 35327).
...
svn-id: r36262
2009-02-11 12:33:37 +00:00
Travis Howell
5de19ecb28
Cleanup.
...
svn-id: r36232
2009-02-07 03:36:36 +00:00
Travis Howell
c2daf686d6
Add upper case code for oe1_pcName() in Elvira 1/2.
...
svn-id: r35330
2008-12-13 07:38:37 +00:00
Max Horn
9b160804ab
Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
...
svn-id: r34700
2008-09-30 12:27:38 +00:00
Christopher Page
8d8c46e36f
Cleanup: Got rid of _quit and _rtl variables in engine.h/.cpp which are not used anymore. Found some _quit flags in Agos and Gob and replaced with bool quit() where appropriate
...
svn-id: r33848
2008-08-13 20:45:00 +00:00
Travis Howell
fd65ea311a
Hopefully allow quiting at any stage AGOS engines games again.
...
svn-id: r33693
2008-08-08 02:18:17 +00:00
Travis Howell
ee89c3000b
Minor cleanup.
...
svn-id: r31514
2008-04-16 12:24:09 +00:00
Travis Howell
7e222b1a0c
Cleanup.
...
svn-id: r31512
2008-04-16 08:50:25 +00:00
Jordi Vilalta Prat
66e9d4f5e8
Removed trailing spaces.
...
svn-id: r30664
2008-01-27 19:47:41 +00:00
Max Horn
f44a196087
Moved all time() calls in AGOS to a single new method AGOSEngine::getTime(); also replaced an evil function-static variable by a member variable (lastMinute)
...
svn-id: r29908
2007-12-20 09:43:46 +00:00
Travis Howell
2670862c33
Update comment for workaround for bug #1745996 .
...
svn-id: r29545
2007-11-18 04:42:40 +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
24b09cdc08
Use warning for that last work around.
...
svn-id: r27845
2007-07-02 00:22:03 +00:00
Travis Howell
3ef882041b
Add work around for possible script bug in Elvira 2.
...
svn-id: r27844
2007-07-02 00:14:53 +00:00
Travis Howell
d768edcd3a
Fix bug #1746107 - Elvira 2: Crash Catacombs lev2.
...
svn-id: r27842
2007-07-01 23:57:49 +00:00
Max Horn
206d167457
AGOS: Introduced ChildType enum
...
svn-id: r27792
2007-06-30 16:25:59 +00:00
Travis Howell
49242a9e34
Fix display of experience in Elvira 2.
...
svn-id: r27772
2007-06-29 14:55:45 +00:00
Travis Howell
fc373c9544
Fix some scripts failing to start in Elvira 2, due code difference in isCalled opcode.
...
svn-id: r27770
2007-06-29 02:06:46 +00:00
Travis Howell
fff80bc489
Fix load/save interface in Elvira 1.
...
svn-id: r27191
2007-06-08 07:50:28 +00:00
Travis Howell
3f819b9085
Add details for French and German Amiga versions of Elvira 1. Remove restart state from Elvira 1 detection, due to two byte difference in the restart state on each disk of Amiga versions.
...
svn-id: r27164
2007-06-07 09:37:22 +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
0d789e074e
Fix glitches caused by interface differences in the AtariST verison of Elvira 2.
...
svn-id: r26988
2007-05-28 08:54:13 +00:00
Travis Howell
45e8fbe8f5
Rename script opcode in Elvira 2.
...
svn-id: r26986
2007-05-28 01:11:43 +00:00
Travis Howell
6511a32905
Correct error in printStats opcode for Elvira 2.
...
svn-id: r26953
2007-05-27 03:01:20 +00:00
Travis Howell
d6e0fe13b5
Add code for opcodes 177/178 in Elvira 2.
...
svn-id: r26937
2007-05-26 13:23:06 +00:00
Travis Howell
5e1af6f479
Add load/save interface support for Elvira 2 and Waxworks.
...
svn-id: r26909
2007-05-22 10:31:51 +00:00
Travis Howell
6452a701be
Fix glitches in pause options of Elvira 1.
...
svn-id: r26796
2007-05-10 00:43:27 +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
1a69604e82
Cleanup.
...
svn-id: r26769
2007-05-07 01:11:10 +00:00
Travis Howell
48c21a1e31
Add eriktorbjorn's patch to split script opcodes into specific game engines.
...
svn-id: r26490
2007-04-15 12:04:47 +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
74f21c1c4f
Correct typo.
...
svn-id: r25808
2007-02-23 10:19:53 +00:00
Travis Howell
47280b3301
Fix bug #1600999 - SIMON2: Crash while talking to Bingo Bongo. A regression due to the work around for extra long strings been broken, when support for the Feeble Files was added in the past.
...
svn-id: r25807
2007-02-23 10:18:14 +00:00
Travis Howell
590bd33a9e
Fix bug #1624767 - FF: save games will not load.
...
svn-id: r24960
2007-01-01 04:35:27 +00:00
Travis Howell
f55320f988
Add inital pause code for Elvira 1/2 & WW, and cleanup
...
svn-id: r24723
2006-11-15 13:11:53 +00:00
Travis Howell
493af8f40b
Only read a single item, in doTable opcode
...
svn-id: r24624
2006-11-05 07:42:23 +00:00
Travis Howell
a2abbf919d
Add inital load/save code changes for earlier games and cleanup
...
svn-id: r24622
2006-11-05 06:26:45 +00:00