Commit Graph

143 Commits

Author SHA1 Message Date
Donovan Watteau
500a54a559 Revert "AGOS: SIMON2: Fix pirate dialogue freeze"
This change introduced several character animation regressions in the
game, which may seem as a worse experience than the original issue with
the pirate dialogue, for most end users (Trac#13997).

This reverts commit eb851041ed.
2023-08-08 12:30:17 +02:00
BLooperZ
eb851041ed AGOS: SIMON2: Fix pirate dialogue freeze 2022-10-01 11:28:11 +03: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
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
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
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
Torbjörn Andersson
b5b136b177 AGOS: Silence GCC memset() warnings
Recent GCC versions complain if you memset() a class or struct that
contain non-POD data types. Get around that by either initializing
the object when created, or by adding a reset() method.
2019-07-14 14:58:18 +03:00
Ori Avtalion
5e49800901 AGOS: Reduce audio header dependencies 2016-04-14 16:48:02 +03:00
D G Turner
b32ca0aaae AGOS: Add image dumping to file enable by debugflag.
This previously required a code change and recompile to enable.
It can now be enabled or disabled at runtime using the "image_dump"
debug flag.
2014-05-12 00:44:13 +01:00
D G Turner
be68682946 AGOS: Switch VGA opcode debugging to debug flag, rather than level 3.
This is now set by --debugflags=vga_opcode rather than -d 3, though it
will still require a debug level greater than 0.
2014-05-11 12:46:55 +01: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
a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Travis Howell
9f53578fd2 Fix compiler warning.
svn-id: r48365
2010-03-23 00:42:42 +00:00
Torbjörn Andersson
762d2dc03a Removed unnecessary semi-colons.
svn-id: r43409
2009-08-15 14:13:48 +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
c14ee974e7 Fix bug #2834260 - ELVIRA1: Graphic glitch when bird takes off.
svn-id: r43163
2009-08-09 07:16:08 +00:00
Travis Howell
a0d05a93f8 Fix recent PN regression in vc32_saveScreen().
svn-id: r42504
2009-07-15 13:19:49 +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
1ce07f5e88 Add code different for PN in vc32_saveScreen(), to fix crashes.
svn-id: r40296
2009-05-04 02:05:28 +00:00
Travis Howell
3591548003 Sync.
svn-id: r40075
2009-04-22 12:44:58 +00:00
Travis Howell
6460511603 Add GF_EGA feature flag for PN, to allow easier support of PC VGA version in future.
svn-id: r39753
2009-03-30 08:31:30 +00:00
Travis Howell
f81d5275f2 Correct initial palette in Amiga and AtariST versions of PN.
svn-id: r39561
2009-03-20 10:12:20 +00:00
Max Horn
563d76d342 AGOS: Changed _leftButtonDown & _rightButtonDown from byte to int
svn-id: r39256
2009-03-09 03:45:33 +00:00
Travis Howell
1937dca584 Cleanup.
svn-id: r39222
2009-03-08 13:18:07 +00:00
Travis Howell
56189fcf30 Clarify several errors messages.
svn-id: r39219
2009-03-08 10:08:09 +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
b08c22b283 Fix bottom palette in AtariST version of Elvira 2.
svn-id: r39014
2009-03-01 07:14:13 +00:00
Travis Howell
3571da7a94 Correctly fix position of icons in AtariST version of Elvira 2.
svn-id: r39011
2009-03-01 06:43:46 +00:00
Travis Howell
01625a01ab Fix offset error in clearVideoBackGround(), that could cause menu glitches after fighting in Elvira 1.
svn-id: r38238
2009-02-15 13:54:53 +00:00
Travis Howell
89063a38ce Cleanup.
svn-id: r36233
2009-02-07 04:32:33 +00:00
Travis Howell
5de19ecb28 Cleanup.
svn-id: r36232
2009-02-07 03:36:36 +00:00
Travis Howell
b2332744e4 Cleanup.
svn-id: r36228
2009-02-07 01:11:51 +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
a6210289f5 AGOS code cleanup
svn-id: r27794
2007-06-30 17:34:49 +00:00
Travis Howell
00829f15c8 Minor cleanup.
svn-id: r27580
2007-06-21 06:37:00 +00:00
Travis Howell
64cafa0270 Fix regressions, due to buffer changes and cleanup.
svn-id: r27578
2007-06-21 05:10:42 +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
Travis Howell
ab9b9a1bf3 Cleanup, could cause regressions.
svn-id: r27547
2007-06-19 11:50:22 +00:00
Travis Howell
71f2f4f6bd Fix bug #1738870 - Elvira1: Glitch after opening a sarcophagus.
svn-id: r27520
2007-06-18 09:07:03 +00:00
Travis Howell
48601a4e70 Clarify purpose of the endRepeat opcude, used by video script.
svn-id: r27228
2007-06-09 06:17:04 +00:00
Travis Howell
14aa27c477 Add dirtyClips code for Simon the Sorcerer 1/2.
svn-id: r27227
2007-06-09 05:30:20 +00:00
Travis Howell
83797aa33a Trigger palette update, when setting the mouse palette in Elvira 2 and Waxworks.
svn-id: r27098
2007-06-05 06:05:28 +00:00