Commit Graph
14 Commits
Author SHA1 Message Date
athrxx 7b66f1191d KYRA: whitespace cleanup 2020-08-29 23:50:29 +02:00
athrxx 9d8c249015 KYRA: (EOB/SegaCD) - vertically shift screen output
The ingame graphics use up 208 pixels out of 224. The top and bottom 8x8 pixel tile rows are left blank.
This commit emulates that. But actually it looks ugly, especially in windowed mode. On a TV screen of that era it was probably unnoticeable.
TODO: GET RID OF THIS COMMIT AND FIND ANOTHER SOLUTION
2020-07-30 22:19:13 +02:00
NMIError 62387f8d38 MIDI/KYRA: Miles channel locking and GM support (#2273)
* MIDI/KYRA: Add channel locking and GM to XMIDI

This improves support for XMIDI channel locking and moves it from the KYRA
engine to the generic Miles MIDI driver. To support this, a source parameter
is added to the XMIDI parser and Miles driver so the driver can distinguish
several XMIDI parser instances sending MIDI events. I've also added GM support
to the generic Miles MIDI driver.

The previous implementation of channel locking did not always track and restore
controller values properly when unlocking a channel. Specifically, at the start
of Legend of Kyrandia, when Brandon talks to the tree, the tree "creaking"
sound effect uses some channels from the background music. The volume of the
music channels was not correctly restored, resulting in some instruments being
much louder then others.
Another issue was that volume was not always properly set when locking a
channel. In the Legend of Kyrandia intro, when Brandon is lifted up to the
house, some sound effects were missing because MIDI channel volume was 0.
This new implementation fixes these issues.

* MIDI: Suppress Miles controller warnings

Several Miles controller MIDI messages generate warnings in the XMIDI parser,
even though they are handled by the Miles drivers. I've removed these.

* MIDI: Fix Codacy issues
2020-05-29 17:50:14 +02:00
Paul Gilbert 429cfd1cad KYRA: Remove autosave code 2020-02-16 15:44:28 -08:00
Paul Gilbert ce9bf175a5 KYRA: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
athrxx 0239ed5e96 KYRA: (HOF) - fix bug #11331
This reverts the change from 1d5fd780 which was clearly wrong and caused this new bug (no idea what I was thinking there).  To prevent the revival of bug #3721 I now added the proper code for a fix after tracking the whole bug with the DOSBox debugger.
2020-02-01 21:09:50 +01:00
athrxx 46ef0109b5 KYRA: (EOB) - prepare for PC Speaker support
This commit does not include the actual driver. It only provides the necessary refactoring and resource handling.
2020-02-01 21:09:49 +01:00
athrxx ce6a4ecd16 KYRA: (EOB) - support "No Music" setting
(until now it was possible to switch sounds on and off ingame, but not via the launcher music device setting)
2020-01-18 21:52:31 +01:00
athrxx 24d0159e79 KYRA: (LOK) - fix mouse cursor bug (see #11303) 2020-01-08 20:27:54 +01:00
athrxx cb01975aec KYRA: (HOF) - fix bug #11289 (Secret potion issue)
- added a missing function that causes keyboard key presses to trigger certain sound effects
- improve keyboard responsiveness during idle animations (HOF only)
2019-12-30 17:51:34 +01:00
athrxx d4b9bda332 KYRA: (EOB/PC98) - fix keymap
(unlike LOL/PC98 we have the same key codes as in the DOS version)
2019-12-18 20:50:45 +01:00
D G Turner d77e70a902 KYRA: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-06 04:31:04 +00:00
athrxx 145edf0b94 KYRA: sound files/classes reorganization step #5
Rename some sound classes to reflect the recent file renamings.
2019-04-15 21:51:48 +02:00
athrxx 1dfdcc7252 KYRA: cleanup dir
Reorganize all files in sub directories. The file placement isn't as intuitive as it might be for other engines, which is probably the reason why this hasn't been done before.
2019-03-06 20:48:15 +01:00