Commit Graph
170 Commits
Author SHA1 Message Date
Colin Snover f1ca9ccc64 SCI32: Fix kSetLanguage 2017-01-09 19:38:59 -06:00
Colin Snover f02107f682 SCI: Minor cleanup of kDoSound
Replaces unused kernel calls to use kEmpty, and set correct
signatures for SCI32 kernel calls.
2016-06-20 21:02:21 -05:00
Colin Snover 46551fd4b5 SCI32: Rewrite digital audio engine
This provides a complete implementation of kDoAudio through
SCI2.1mid, plus partial implementation of SCI3 features.

Digital audio calls shunted through kDoSound have also been
updated to go through the SCI32 audio mixer, though these shunts
are a bit hacky because the ScummVM implementation of kDoSound
does not currently match how SSCI kDoSound is designed.

It is probably possible in the future to just replace the SCI1.1
audio code (audio.cpp) with the new SCI32 code, since the major
differences seem to be that (1) SCI1.1 only supported one digital
audio playback channel (this is configurable already), (2) it
had extra commands for CD audio playback and queued sample
playback.
2016-06-20 21:02:21 -05:00
Colin Snover 5d3385750d SCI: Split audio sync to its own class
SCI32 has its own audio handling code, but audio sync code is the
same as SCI16.
2016-06-19 14:48:33 -05:00
Martin Kiewitz f3c2d7629d SCI: Fix FM-Towns audio language selection
This first of all combines both detection entries and makes it
possible so that the user can directly choose English or Japanese
without having to add the game twice.
But it also fixes the in-game option to switch between English
and Japanese. Prior to this commit it was only possible to for
example switch from Japanese to English once, but it was not
possible to switch back without quitting the game and starting it
again.
2016-02-24 00:51:50 +01:00
Lars Skovlund f7025c4cab SCI: Make Pharkas CD opcodes return explicit values. Document. 2016-02-22 01:04:56 +01:00
Martin Kiewitz 0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
2015-12-29 01:44:11 +01:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Matthew Hoops ee86e671f1 SCI: Fix Phantasmagoria Mac's kDoSound 2013-04-28 13:43:17 -04:00
Willem Jan Palenstijn 8d184cddf7 SCI: Add missing break 2013-04-15 21:35:18 +02:00
Filippos Karapetis e7836beabb SCI: Silence some very chatty warnings
Also, add an example room where kRemapToGray is called
2012-07-25 12:13:35 +03:00
Filippos Karapetis 0ccfd614aa SCI: Add more verbose debug output for DoAudio in SCI2.1 2012-06-11 11:54:09 +03:00
athrxx 731382ad51 SCI: add Japanese detection entry for KQ5 FM-Towns and fix audio language handling 2011-11-01 20:29:53 +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
Filippos Karapetis e4b46bd159 SCI: Added resource manager support for changing the audio directory dynamically. Also,
moved some audio-specific resource code inside resource_audio.cpp

This functionality is used by kSetLanguage(), called when switching the language in
MUMG Deluxe from the game's main menu.

svn-id: r55872
2011-02-10 16:48:29 +00:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Filippos Karapetis c2acabd710 SCI2.1: Some functionality for Phantasmagoria 1 and MUMG Deluxe
- Added a stub for kSetLanguage, used in MUMG Deluxe - this needs support at the resource
manager level
- Made kGetSierraProfileInt a stub function (it's used in the Windows version of
Phantasmagoria 1 to override the video speed setting obtained from kGetConfig)

svn-id: r55161
2011-01-08 11:19:20 +00:00
Filippos Karapetis 32d7e687ee SCI: debugC calls no longer require a debug level of 2 to show output
svn-id: r55086
2011-01-01 12:48:12 +00:00
Filippos Karapetis 364d37b302 SCI: some changes to the way reverb is handled
- "Invalid" SCI reverb values (127) are properly handled now
- SCI kDoSound(reverb) sets the global reverb (renamed it accordingly)
- kDoSound(reverb) can also return the current reverb if no parameter is sent

svn-id: r54457
2010-11-24 14:21:31 +00:00
Filippos Karapetis 5ca6b33ba7 SCI: Silenced some sound related warnings. Added an empty function for kDoSound(Restore), called when restoring games
svn-id: r51661
2010-08-02 21:20:43 +00:00
Filippos Karapetis a9a0451b15 SCI: Updated some comments related to Freddy Pharkas and silenced warning for kDoAudio subop 13
svn-id: r51499
2010-07-30 07:11:57 +00:00
Martin Kiewitz a24de29358 SCI: renaming kDoSound(resume) to resumeAfterRestore
kDoSound(resumeAfterRestore) is called right after restoring a saved game for sound-sci0 games, we already resume playing music inside restore, so we don't need to implement this at all

svn-id: r51058
2010-07-20 11:17:33 +00:00
Martin Kiewitz ba776fb293 SCI: implemented subsignatures for kDoSound
svn-id: r50755
2010-07-09 12:06:41 +00:00
Martin Kiewitz 7e05d6e62b SCI: part of subfunction signature&mapping implemented, little cleanup
svn-id: r50750
2010-07-08 21:22:59 +00:00
Martin Kiewitz 07fef4c6e6 SCI: hopefully fix build :P
svn-id: r50747
2010-07-08 18:38:15 +00:00
Martin Kiewitz b877f3c711 SCI: sorted kernel map alphabetically
svn-id: r50746
2010-07-08 18:26:05 +00:00
Filippos Karapetis 9f1320d5cc SCI: Made the SoundCommandParser a member of the SciEngine class and removed it from the EngineState, since it's static throughout the course of a game
svn-id: r50484
2010-06-29 09:00:08 +00:00
Filippos Karapetis 5855cd7127 The volume subop of kDoAudio returns the previous volume in SCI2.1, but not in earlier versions
svn-id: r50141
2010-06-22 15:01:45 +00:00
Matthew Hoops 727841ef91 In SCI32, kDoAudio subop 10 is no longer CD audio. Just stub it off for now.
svn-id: r50134
2010-06-21 22:58:33 +00:00
Max Horn bb528d894c SCI: Rewrap some overlong comments
svn-id: r50012
2010-06-18 09:37:06 +00:00
Filippos Karapetis 2d61dd8608 Fixed invalid memory access in SQ6
svn-id: r49986
2010-06-18 01:38:08 +00:00
Filippos Karapetis 9c1ec81d76 Strict mode: Turned several severe errors (almost all detection related) into errors, instead of warnings
svn-id: r49972
2010-06-17 23:45:38 +00:00
Filippos Karapetis 0e365131ac Fixed wPlayAudio, and added some documentation on the 3 new kDoAudio subops. Digital sounds in Pharkas work again
svn-id: r49928
2010-06-17 12:29:58 +00:00
Filippos Karapetis f4739f9f68 Added debug output to kDoAudio and some music commands. Also added a warning when an audio stream can't be created. Finally, the debug level of the MIDI parser debug output has been raised to 4, as it's too verbose
svn-id: r49605
2010-06-12 11:41:22 +00:00
Matthew Hoops 9f907aac09 kSciAudioWPlay should not actually play the song, but 'pre-load' it. We fake the pre-loading with a flag that will return 0 if the song has been called with kSciAudioWPlay. Fixes the dream sequence sound in MUMG.
svn-id: r49583
2010-06-10 20:26:59 +00:00
Filippos Karapetis 93f33c7dab Resolved a FIXME with getSciLanguage(), by creating a separate setter. Also, some camelCase changes
svn-id: r49568
2010-06-10 11:18:10 +00:00
Filippos Karapetis 83f31e4e44 Added the number of parameters passed in unknown kDoAudio subops
svn-id: r49083
2010-05-18 15:52:45 +00:00
Max Horn 975dbef0e5 SCI: Remove sound/audio.h include from engine/state.h
svn-id: r48063
2010-02-15 00:20:53 +00:00
Filippos Karapetis 07e405588d Moved the reference to AudioPlayer inside SciEngine (as it doesn't have a state, per se, and is static)
svn-id: r48059
2010-02-14 12:23:22 +00:00
Max Horn b9a11ddb0b SCI: Move language related code from EngineState to SciEngine
svn-id: r48052
2010-02-13 17:46:44 +00:00
Max Horn 9575cc08a2 SCI: Move GameFeatures from EngineState to SciEngine
svn-id: r48049
2010-02-13 17:44:58 +00:00
Max Horn a82939c9be SCI: Get rid of EngineState::resMan
svn-id: r48048
2010-02-13 17:44:19 +00:00
Filippos Karapetis 2fb37063a4 Placed all the game feature detection code in a separate class
svn-id: r47850
2010-02-03 11:02:43 +00:00
Matthew Hoops 12d983eaf4 Make EngineState::getLanguage() check from the resource manager as to what language it has loaded before checking from what ScummVM has set and make kDoAudio use EngineState::getLanguage()
svn-id: r47782
2010-01-31 22:14:35 +00:00
Walter van Niftrik 1d50acaa50 SCI: Handle -1 properly when passed as a language id to DoAudio
svn-id: r47774
2010-01-31 19:45:51 +00:00
Lars Skovlund 39ebb168a1 SCI: Make SQ6 sound work. The meaning of these extra parameters is not yet understood.
svn-id: r47660
2010-01-28 23:11:55 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis 84cd8d2dc7 Renamed /gui to /graphics and /sfx to /sound, to better illustrate their purpose
svn-id: r47007
2010-01-05 01:22:16 +00:00
Martin Kiewitz 44dc3f9bfb SCI: kDoAudio now also clips volume and adjusts to mixer volume
svn-id: r46852
2010-01-01 21:26:46 +00:00