diff options
Diffstat (limited to 'engines/scumm')
32 files changed, 269 insertions, 118 deletions
diff --git a/engines/scumm/POTFILES b/engines/scumm/POTFILES index 246f14d3f0..039aa16755 100644 --- a/engines/scumm/POTFILES +++ b/engines/scumm/POTFILES @@ -1,3 +1,4 @@ +engines/scumm/detection.cpp engines/scumm/dialogs.cpp engines/scumm/help.cpp engines/scumm/input.cpp diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 9264a6443b..0867b20fc3 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -29,6 +29,7 @@ #include "common/md5.h" #include "common/savefile.h" #include "common/system.h" +#include "common/translation.h" #include "audio/mididrv.h" @@ -957,6 +958,7 @@ public: virtual int getMaximumSaveSlot() const; virtual void removeSaveState(const char *target, int slot) const; virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; + virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const; }; bool ScummMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -1329,6 +1331,21 @@ SaveStateDescriptor ScummMetaEngine::querySaveMetaInfos(const char *target, int return desc; } +static const ExtraGuiOption comiObjectLabelsOption = { + _s("Show Object Line"), + _s("Show the names of objects at the bottom of the screen"), + "object_labels", + true +}; + +const ExtraGuiOptions ScummMetaEngine::getExtraGuiOptions(const Common::String &target) const { + ExtraGuiOptions options; + if (target.empty() || ConfMan.get("gameid", target) == "comi") { + options.push_back(comiObjectLabelsOption); + } + return options; +} + #if PLUGIN_ENABLED_DYNAMIC(SCUMM) REGISTER_PLUGIN_DYNAMIC(SCUMM, PLUGIN_TYPE_ENGINE, ScummMetaEngine); #else diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 21c7428621..8a6b545bf2 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -33,10 +33,8 @@ #include "scummhelp.h" #endif -#include "gui/about.h" - #include "gui/gui-manager.h" -#include "gui/widgets/list.h" +#include "gui/widget.h" #include "gui/ThemeEval.h" #include "scumm/dialogs.h" @@ -45,14 +43,12 @@ #include "scumm/imuse/imuse.h" #include "scumm/imuse_digi/dimuse.h" #include "scumm/verbs.h" -#include "audio/mididrv.h" -#include "audio/mixer.h" #ifndef DISABLE_HELP #include "scumm/help.h" #endif -#ifdef SMALL_SCREEN_DEVICE +#ifdef GUI_ENABLE_KEYSDIALOG #include "gui/KeysDialog.h" #endif diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h index 08222dd8cd..bd0645597e 100644 --- a/engines/scumm/dialogs.h +++ b/engines/scumm/dialogs.h @@ -24,15 +24,13 @@ #define SCUMM_DIALOGS_H #include "common/str.h" +#include "common/keyboard.h" #include "gui/dialog.h" -#include "gui/widget.h" #include "engines/dialogs.h" -#include "scumm/detection.h" - namespace GUI { -class ListWidget; class CommandSender; +class StaticTextWidget; } diff --git a/engines/scumm/he/animation_he.cpp b/engines/scumm/he/animation_he.cpp index 8483a8a402..0a3a56ceda 100644 --- a/engines/scumm/he/animation_he.cpp +++ b/engines/scumm/he/animation_he.cpp @@ -22,16 +22,21 @@ #ifdef ENABLE_HE +#include "common/scummsys.h" + #include "scumm/he/animation_he.h" #include "scumm/he/intern_he.h" -#include "audio/audiostream.h" #include "video/smk_decoder.h" #ifdef USE_BINK #include "video/bink_decoder.h" #endif +namespace Audio { +class Mixer; +} + namespace Scumm { MoviePlayer::MoviePlayer(ScummEngine_v90he *vm, Audio::Mixer *mixer) : _vm(vm) { diff --git a/engines/scumm/he/animation_he.h b/engines/scumm/he/animation_he.h index 677a4b4247..6891ed8bf0 100644 --- a/engines/scumm/he/animation_he.h +++ b/engines/scumm/he/animation_he.h @@ -23,7 +23,9 @@ #if !defined(SCUMM_HE_ANIMATION_H) && defined(ENABLE_HE) #define SCUMM_HE_ANIMATION_H -#include "audio/mixer.h" +namespace Audio { +class Mixer; +} namespace Common { class String; diff --git a/engines/scumm/he/logic/moonbase.cpp b/engines/scumm/he/logic/moonbase.cpp index 29a0dde7a2..3fcf30d6b5 100644 --- a/engines/scumm/he/logic/moonbase.cpp +++ b/engines/scumm/he/logic/moonbase.cpp @@ -34,6 +34,22 @@ public: LogicHEmoonbase(ScummEngine_v90he *vm) : LogicHE(vm) {} int versionID(); + + int32 dispatch(int op, int numArgs, int32 *args); + +private: + void op_create_multi_state_wiz(int op, int numArgs, int32 *args); + void op_load_multi_channel_wiz(int op, int numArgs, int32 *args); + void op_wiz_from_multi_channel_wiz(int op, int numArgs, int32 *args); + void op_dos_command(int op, int numArgs, int32 *args); + void op_set_fow_sentinel(int op, int numArgs, int32 *args); + void op_set_fow_information(int op, int numArgs, int32 *args); + void op_set_fow_image(int op, int numArgs, int32 *args); + void op_ai_test_kludge(int op, int numArgs, int32 *args); + void op_ai_master_control_program(int op, int numArgs, int32 *args); + void op_ai_reset(int op, int numArgs, int32 *args); + void op_ai_set_type(int op, int numArgs, int32 *args); + void op_ai_clean_up(int op, int numArgs, int32 *args); }; int LogicHEmoonbase::versionID() { @@ -45,6 +61,127 @@ int LogicHEmoonbase::versionID() { return 100; } +#define OP_CREATE_MULTI_STATE_WIZ 100 +#define OP_LOAD_MULTI_CHANNEL_WIZ 101 +#define OP_WIZ_FROM_MULTI_CHANNEL_WIZ 102 +#define OP_DOS_COMMAND 103 +#define OP_SET_FOW_SENTINEL 104 +#define OP_SET_FOW_INFORMATION 105 +#define OP_SET_FOW_IMAGE 106 + +#define OP_AI_TEST_KLUDGE 10000 +#define OP_AI_MASTER_CONTROL_PROGRAM 10001 +#define OP_AI_RESET 10002 +#define OP_AI_SET_TYPE 10003 +#define OP_AI_CLEAN_UP 10004 + +int32 LogicHEmoonbase::dispatch(int op, int numArgs, int32 *args) { + switch (op) { + case OP_CREATE_MULTI_STATE_WIZ: + op_create_multi_state_wiz(op, numArgs, args); + break; + case OP_LOAD_MULTI_CHANNEL_WIZ: + op_load_multi_channel_wiz(op, numArgs, args); + break; + case OP_WIZ_FROM_MULTI_CHANNEL_WIZ: + op_wiz_from_multi_channel_wiz(op, numArgs, args); + break; + case OP_DOS_COMMAND: + op_dos_command(op, numArgs, args); + break; + case OP_SET_FOW_SENTINEL: + op_set_fow_sentinel(op, numArgs, args); + break; + case OP_SET_FOW_INFORMATION: + op_set_fow_information(op, numArgs, args); + break; + case OP_SET_FOW_IMAGE: + op_set_fow_image(op, numArgs, args); + break; + + case OP_AI_TEST_KLUDGE: + op_ai_test_kludge(op, numArgs, args); + break; + case OP_AI_MASTER_CONTROL_PROGRAM: + op_ai_master_control_program(op, numArgs, args); + break; + case OP_AI_RESET: + op_ai_reset(op, numArgs, args); + break; + case OP_AI_SET_TYPE: + op_ai_set_type(op, numArgs, args); + break; + case OP_AI_CLEAN_UP: + op_ai_clean_up(op, numArgs, args); + break; + + default: + LogicHE::dispatch(op, numArgs, args); + } + + return 0; +} + +void LogicHEmoonbase::op_create_multi_state_wiz(int op, int numArgs, int32 *args) { + warning("STUB: op_create_multi_state_wiz()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_load_multi_channel_wiz(int op, int numArgs, int32 *args) { + warning("STUB: op_load_multi_channel_wiz()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_wiz_from_multi_channel_wiz(int op, int numArgs, int32 *args) { + warning("STUB: op_wiz_from_multi_channel_wiz()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_dos_command(int op, int numArgs, int32 *args) { + warning("STUB: op_dos_command()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_set_fow_sentinel(int op, int numArgs, int32 *args) { + warning("STUB: op_set_fow_sentinel()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_set_fow_information(int op, int numArgs, int32 *args) { + warning("STUB: op_set_fow_information()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_set_fow_image(int op, int numArgs, int32 *args) { + warning("STUB: op_set_fow_image()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_ai_test_kludge(int op, int numArgs, int32 *args) { + warning("STUB: op_ai_test_kludge()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_ai_master_control_program(int op, int numArgs, int32 *args) { + warning("STUB: op_ai_master_control_program()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_ai_reset(int op, int numArgs, int32 *args) { + warning("STUB: op_ai_reset)"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_ai_set_type(int op, int numArgs, int32 *args) { + warning("STUB: op_ai_set_type()"); + LogicHE::dispatch(op, numArgs, args); +} + +void LogicHEmoonbase::op_ai_clean_up(int op, int numArgs, int32 *args) { + warning("STUB: op_ai_clean_up()"); + LogicHE::dispatch(op, numArgs, args); +} + LogicHE *makeLogicHEmoonbase(ScummEngine_v90he *vm) { return new LogicHEmoonbase(vm); } diff --git a/engines/scumm/he/script_v100he.cpp b/engines/scumm/he/script_v100he.cpp index afc6633ef6..e69308c067 100644 --- a/engines/scumm/he/script_v100he.cpp +++ b/engines/scumm/he/script_v100he.cpp @@ -1310,36 +1310,36 @@ void ScummEngine_v100he::o100_wizImageOps() { if (_wizParams.img.resNum) _wiz->processWizImage(&_wizParams); break; - case 128: - _wizParams.field_239D = pop(); - _wizParams.field_2399 = pop(); - _wizParams.field_23A5 = pop(); - _wizParams.field_23A1 = pop(); - copyScriptString(_wizParams.string2, sizeof(_wizParams.string2)); + case 128: // Font create _wizParams.processMode = 15; + _wizParams.fontProperties.bgColor = pop(); + _wizParams.fontProperties.fgColor = pop(); + _wizParams.fontProperties.size = pop(); + _wizParams.fontProperties.style = pop(); + copyScriptString(_wizParams.fontProperties.fontName, sizeof(_wizParams.fontProperties.fontName)); break; case 129: _wizParams.processMode = 14; break; - case 130: + case 130: // Font render _wizParams.processMode = 16; - _wizParams.field_23AD = pop(); - _wizParams.field_23A9 = pop(); - copyScriptString(_wizParams.string1, sizeof(_wizParams.string1)); + _wizParams.fontProperties.yPos = pop(); + _wizParams.fontProperties.xPos = pop(); + copyScriptString(_wizParams.fontProperties.string, sizeof(_wizParams.fontProperties.string)); break; case 131: _wizParams.processMode = 13; break; - case 133: + case 133: // Render ellipse _wizParams.processMode = 17; - _wizParams.field_23CD = pop(); - _wizParams.field_23C9 = pop(); - _wizParams.field_23C5 = pop(); - _wizParams.field_23C1 = pop(); - _wizParams.field_23BD = pop(); - _wizParams.field_23B9 = pop(); - _wizParams.field_23B5 = pop(); - _wizParams.field_23B1 = pop(); + _wizParams.ellipseProperties.color = pop(); + _wizParams.ellipseProperties.lod = pop(); + _wizParams.ellipseProperties.ky = pop(); + _wizParams.ellipseProperties.kx = pop(); + _wizParams.ellipseProperties.qy = pop(); + _wizParams.ellipseProperties.qx = pop(); + _wizParams.ellipseProperties.py = pop(); + _wizParams.ellipseProperties.px = pop(); break; case 134: _wizParams.processFlags |= kWPFFillColor | kWPFClipBox2; diff --git a/engines/scumm/he/script_v90he.cpp b/engines/scumm/he/script_v90he.cpp index f65d2f6077..f2d92bc2ca 100644 --- a/engines/scumm/he/script_v90he.cpp +++ b/engines/scumm/he/script_v90he.cpp @@ -285,29 +285,29 @@ void ScummEngine_v90he::o90_wizImageOps() { _wizParams.processMode = 13; break; case 142: // HE99+ - _wizParams.field_239D = pop(); - _wizParams.field_2399 = pop(); - _wizParams.field_23A5 = pop(); - _wizParams.field_23A1 = pop(); - copyScriptString(_wizParams.string2, sizeof(_wizParams.string2)); _wizParams.processMode = 15; + _wizParams.fontProperties.bgColor = pop(); + _wizParams.fontProperties.fgColor = pop(); + _wizParams.fontProperties.size = pop(); + _wizParams.fontProperties.style = pop(); + copyScriptString(_wizParams.fontProperties.fontName, sizeof(_wizParams.fontProperties.fontName)); break; case 143: // HE99+ _wizParams.processMode = 16; - _wizParams.field_23AD = pop(); - _wizParams.field_23A9 = pop(); - copyScriptString(_wizParams.string1, sizeof(_wizParams.string1)); + _wizParams.fontProperties.yPos = pop(); + _wizParams.fontProperties.xPos = pop(); + copyScriptString(_wizParams.fontProperties.string, sizeof(_wizParams.fontProperties.string)); break; case 189: // HE99+ _wizParams.processMode = 17; - _wizParams.field_23CD = pop(); - _wizParams.field_23C9 = pop(); - _wizParams.field_23C5 = pop(); - _wizParams.field_23C1 = pop(); - _wizParams.field_23BD = pop(); - _wizParams.field_23B9 = pop(); - _wizParams.field_23B5 = pop(); - _wizParams.field_23B1 = pop(); + _wizParams.ellipseProperties.color = pop(); + _wizParams.ellipseProperties.lod = pop(); + _wizParams.ellipseProperties.ky = pop(); + _wizParams.ellipseProperties.kx = pop(); + _wizParams.ellipseProperties.qy = pop(); + _wizParams.ellipseProperties.qx = pop(); + _wizParams.ellipseProperties.py = pop(); + _wizParams.ellipseProperties.px = pop(); break; case 196: // HE99+ _wizParams.processMode = 14; diff --git a/engines/scumm/he/sound_he.cpp b/engines/scumm/he/sound_he.cpp index b806a9f3cc..9a456b86c0 100644 --- a/engines/scumm/he/sound_he.cpp +++ b/engines/scumm/he/sound_he.cpp @@ -34,14 +34,10 @@ #include "common/timer.h" #include "common/util.h" +#include "audio/audiostream.h" #include "audio/decoders/adpcm.h" -#include "audio/decoders/flac.h" -#include "audio/mididrv.h" #include "audio/mixer.h" -#include "audio/decoders/mp3.h" #include "audio/decoders/raw.h" -#include "audio/decoders/voc.h" -#include "audio/decoders/vorbis.h" #include "audio/decoders/wave.h" namespace Scumm { diff --git a/engines/scumm/he/wiz_he.h b/engines/scumm/he/wiz_he.h index 8db438a074..974b394d61 100644 --- a/engines/scumm/he/wiz_he.h +++ b/engines/scumm/he/wiz_he.h @@ -47,6 +47,28 @@ struct WizImage { int palette; }; +struct FontProperties { + byte string[4096]; + byte fontName[4096]; + int fgColor; + int bgColor; + int style; + int size; + int xPos; + int yPos; +}; + +struct EllipseProperties { + int px; + int py; + int qx; + int qy; + int kx; + int ky; + int lod; + int color; +}; + struct WizParameters { int field_0; byte filename[260]; @@ -77,22 +99,8 @@ struct WizParameters { int remapNum; int dstResNum; uint16 fillColor; - byte string1[4096]; - byte string2[4096]; - int field_2399; - int field_239D; - int field_23A1; - int field_23A5; - int field_23A9; - int field_23AD; - int field_23B1; - int field_23B5; - int field_23B9; - int field_23BD; - int field_23C1; - int field_23C5; - int field_23C9; - int field_23CD; + FontProperties fontProperties; + EllipseProperties ellipseProperties; Common::Rect box2; int field_23DE; int spriteId; diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h index f04c2f7826..11b1ea678b 100644 --- a/engines/scumm/imuse_digi/dimuse.h +++ b/engines/scumm/imuse_digi/dimuse.h @@ -34,8 +34,10 @@ #include "scumm/music.h" #include "scumm/sound.h" -#include "audio/mixer.h" -#include "audio/audiostream.h" +namespace Audio { +class AudioStream; +class Mixer; +} namespace Scumm { diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp index 78d05c2051..b2ff3aadbb 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -22,8 +22,8 @@ #include "common/scummsys.h" -#include "common/util.h" +#include "audio/audiostream.h" #include "audio/decoders/flac.h" #include "audio/decoders/voc.h" #include "audio/decoders/vorbis.h" @@ -31,8 +31,6 @@ #include "scumm/resource.h" #include "scumm/scumm.h" -#include "scumm/util.h" -#include "scumm/imuse_digi/dimuse.h" #include "scumm/imuse_digi/dimuse_bndmgr.h" #include "scumm/imuse_digi/dimuse_codecs.h" #include "scumm/imuse_digi/dimuse_sndmgr.h" diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.h b/engines/scumm/imuse_digi/dimuse_sndmgr.h index aebf4d7f11..2f91405588 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.h +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.h @@ -25,13 +25,20 @@ #include "common/scummsys.h" -#include "audio/audiostream.h" -#include "scumm/imuse_digi/dimuse_bndmgr.h" + +namespace Audio { +class SeekableAudioStream; +} + +namespace Common { +class SeekableReadStream; +} namespace Scumm { class ScummEngine; class BundleMgr; +class BundleDirCache; class ImuseDigiSndMgr { public: diff --git a/engines/scumm/imuse_digi/dimuse_track.h b/engines/scumm/imuse_digi/dimuse_track.h index 7e360268e5..a007903139 100644 --- a/engines/scumm/imuse_digi/dimuse_track.h +++ b/engines/scumm/imuse_digi/dimuse_track.h @@ -24,6 +24,11 @@ #define SCUMM_IMUSE_DIGI_TRACK_H #include "common/scummsys.h" +#include "audio/mixer.h" + +namespace Audio { +class QueuingAudioStream; +} namespace Scumm { diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 1234eda3cc..12047635a0 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -25,9 +25,6 @@ #include "common/system.h" #include "common/translation.h" -#include "gui/message.h" -#include "gui/gui-manager.h" - #include "scumm/debugger.h" #include "scumm/dialogs.h" #include "scumm/insane/insane.h" diff --git a/engines/scumm/midiparser_ro.cpp b/engines/scumm/midiparser_ro.cpp index 35eb9f7eb7..5fc1ae41ab 100644 --- a/engines/scumm/midiparser_ro.cpp +++ b/engines/scumm/midiparser_ro.cpp @@ -22,9 +22,7 @@ #include "audio/midiparser.h" -#include "audio/mididrv.h" #include "common/textconsole.h" -#include "common/util.h" namespace Scumm { diff --git a/engines/scumm/players/player_ad.h b/engines/scumm/players/player_ad.h index 9cd1a06261..1e665e82d5 100644 --- a/engines/scumm/players/player_ad.h +++ b/engines/scumm/players/player_ad.h @@ -25,8 +25,6 @@ #include "scumm/music.h" -#include "audio/audiostream.h" - #include "common/mutex.h" namespace OPL { @@ -36,6 +34,7 @@ class OPL; namespace Scumm { class ScummEngine; +class Serializer; /** * Sound output for v3/v4 AdLib data. diff --git a/engines/scumm/players/player_apple2.h b/engines/scumm/players/player_apple2.h index 8efb951f20..2e897d58f4 100644 --- a/engines/scumm/players/player_apple2.h +++ b/engines/scumm/players/player_apple2.h @@ -25,11 +25,9 @@ #include "common/mutex.h" #include "common/scummsys.h" -#include "common/memstream.h" #include "scumm/music.h" #include "audio/audiostream.h" #include "audio/mixer.h" -#include "audio/softsynth/sid.h" namespace Scumm { diff --git a/engines/scumm/players/player_mac.cpp b/engines/scumm/players/player_mac.cpp index 634fd2de2b..87406f4e34 100644 --- a/engines/scumm/players/player_mac.cpp +++ b/engines/scumm/players/player_mac.cpp @@ -22,7 +22,6 @@ #include "common/macresman.h" #include "engines/engine.h" -#include "gui/message.h" #include "scumm/players/player_mac.h" #include "scumm/resource.h" #include "scumm/scumm.h" diff --git a/engines/scumm/players/player_v2cms.cpp b/engines/scumm/players/player_v2cms.cpp index 08321932c3..1a1cd1ed8c 100644 --- a/engines/scumm/players/player_v2cms.cpp +++ b/engines/scumm/players/player_v2cms.cpp @@ -22,7 +22,6 @@ #include "scumm/players/player_v2cms.h" #include "scumm/scumm.h" -#include "audio/mididrv.h" #include "audio/mixer.h" #include "audio/softsynth/cms.h" diff --git a/engines/scumm/players/player_v3m.h b/engines/scumm/players/player_v3m.h index 81dda801fc..645f1fb1c9 100644 --- a/engines/scumm/players/player_v3m.h +++ b/engines/scumm/players/player_v3m.h @@ -28,10 +28,10 @@ #include "common/mutex.h" #include "scumm/music.h" #include "scumm/players/player_mac.h" -#include "audio/audiostream.h" -#include "audio/mixer.h" +namespace Audio { class Mixer; +} namespace Scumm { diff --git a/engines/scumm/players/player_v5m.h b/engines/scumm/players/player_v5m.h index f60a3f9346..152aa1541a 100644 --- a/engines/scumm/players/player_v5m.h +++ b/engines/scumm/players/player_v5m.h @@ -28,10 +28,10 @@ #include "common/mutex.h" #include "scumm/music.h" #include "scumm/players/player_mac.h" -#include "audio/audiostream.h" -#include "audio/mixer.h" +namespace Audio { class Mixer; +} namespace Scumm { diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index f3df24ff51..40dc83c7f3 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -41,8 +41,6 @@ #include "scumm/he/sprite_he.h" #include "scumm/verbs.h" -#include "audio/mixer.h" - #include "backends/audiocd/audiocd.h" #include "graphics/thumbnail.h" diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h index 41c59cb521..e986ae4b47 100644 --- a/engines/scumm/scumm-md5.h +++ b/engines/scumm/scumm-md5.h @@ -1,5 +1,5 @@ /* - This file was generated by the md5table tool on Tue Jan 12 23:47:54 2016 + This file was generated by the md5table tool on Mon Mar 28 09:52:54 2016 DO NOT EDIT MANUALLY! */ @@ -189,6 +189,7 @@ static const MD5Table md5table[] = { { "3b832f4a90740bf22e9b8ed42ca0128c", "freddi4", "HE 99", "", -1, Common::EN_GRB, Common::kPlatformUnknown }, { "3c4c471342bd95505a42334367d8f127", "puttmoon", "HE 70", "", 12161, Common::RU_RUS, Common::kPlatformWindows }, { "3cce1913a3bc586b51a75c3892ff18dd", "indy3", "VGA", "VGA", -1, Common::RU_RUS, Common::kPlatformDOS }, + { "3cf4b6ff78f735b671d8ccc2bc110b15", "maniac", "V2", "V2", -1, Common::ES_ESP, Common::kPlatformAmiga }, { "3d219e7546039543307b55a91282bf18", "funpack", "", "", -1, Common::EN_ANY, Common::kPlatformDOS }, { "3de99ef0523f8ca7958faa3afccd035a", "spyfox", "HE 100", "Updated", -1, Common::EN_USA, Common::kPlatformUnknown }, { "3df6ead57930488bc61e6e41901d0e97", "fbear", "HE 62", "", -1, Common::EN_ANY, Common::kPlatformMacintosh }, diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 89d2d3dc72..e7118616ba 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -30,7 +30,6 @@ #include "engines/util.h" #include "gui/message.h" -#include "gui/gui-manager.h" #include "graphics/cursorman.h" @@ -1275,10 +1274,7 @@ void ScummEngine::setupScumm() { // On some systems it's not safe to run CD audio games from the CD. if (_game.features & GF_AUDIOTRACKS && !Common::File::exists("CDDA.SOU")) { checkCD(); - - int cd_num = ConfMan.getInt("cdrom"); - if (cd_num >= 0) - _system->getAudioCDManager()->openCD(cd_num); + _system->getAudioCDManager()->open(); } // Create the sound manager diff --git a/engines/scumm/smush/smush_mixer.cpp b/engines/scumm/smush/smush_mixer.cpp index 42e8f645be..445186d62b 100644 --- a/engines/scumm/smush/smush_mixer.cpp +++ b/engines/scumm/smush/smush_mixer.cpp @@ -21,14 +21,11 @@ */ -#include "common/util.h" - #include "scumm/smush/smush_mixer.h" #include "scumm/smush/channel.h" #include "scumm/scumm.h" -#include "scumm/sound.h" -#include "scumm/imuse/imuse.h" +#include "audio/audiostream.h" #include "audio/mixer.h" #include "audio/decoders/raw.h" diff --git a/engines/scumm/smush/smush_mixer.h b/engines/scumm/smush/smush_mixer.h index 18ec7f96fb..1bd6adac16 100644 --- a/engines/scumm/smush/smush_mixer.h +++ b/engines/scumm/smush/smush_mixer.h @@ -28,6 +28,10 @@ #include "common/mutex.h" #include "scumm/sound.h" +namespace Audio { +class QueuingAudioStream; +} + namespace Scumm { class SmushChannel; diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp index 05c7ff2d9a..2ca2579b54 100644 --- a/engines/scumm/smush/smush_player.cpp +++ b/engines/scumm/smush/smush_player.cpp @@ -20,8 +20,6 @@ * */ -#include "engines/engine.h" - #include "common/config-manager.h" #include "common/file.h" #include "common/system.h" @@ -30,14 +28,11 @@ #include "graphics/cursorman.h" #include "graphics/palette.h" -#include "scumm/bomp.h" #include "scumm/file.h" #include "scumm/imuse_digi/dimuse.h" -#include "scumm/imuse/imuse.h" #include "scumm/scumm.h" #include "scumm/scumm_v7.h" #include "scumm/sound.h" -#include "scumm/util.h" #include "scumm/smush/channel.h" #include "scumm/smush/codec37.h" #include "scumm/smush/codec47.h" @@ -47,6 +42,7 @@ #include "scumm/insane/insane.h" +#include "audio/audiostream.h" #include "audio/mixer.h" #include "audio/decoders/mp3.h" #include "audio/decoders/raw.h" diff --git a/engines/scumm/smush/smush_player.h b/engines/scumm/smush/smush_player.h index 81c498a516..b0d6e6a9f0 100644 --- a/engines/scumm/smush/smush_player.h +++ b/engines/scumm/smush/smush_player.h @@ -26,6 +26,10 @@ #include "common/util.h" #include "scumm/sound.h" +namespace Audio { +class QueuingAudioStream; +} + namespace Scumm { class ScummEngine_v7; diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index 4d70ee8482..f66452e99c 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -35,9 +35,9 @@ #include "scumm/resource.h" #include "scumm/scumm.h" #include "scumm/sound.h" -#include "scumm/util.h" -#include "audio/decoders/adpcm.h" +#include "audio/audiostream.h" +#include "audio/timestamp.h" #include "audio/decoders/flac.h" #include "audio/mididrv.h" #include "audio/mixer.h" @@ -45,7 +45,6 @@ #include "audio/decoders/raw.h" #include "audio/decoders/voc.h" #include "audio/decoders/vorbis.h" -#include "audio/decoders/wave.h" namespace Scumm { @@ -1093,7 +1092,7 @@ int Sound::pollCD() const { void Sound::updateCD() { if (!_isLoomSteam) - g_system->getAudioCDManager()->updateCD(); + g_system->getAudioCDManager()->update(); } AudioCDManager::Status Sound::getCDStatus() { diff --git a/engines/scumm/sound.h b/engines/scumm/sound.h index a479ad5731..8c11c7b5b2 100644 --- a/engines/scumm/sound.h +++ b/engines/scumm/sound.h @@ -24,23 +24,17 @@ #define SCUMM_SOUND_H #include "common/scummsys.h" -#include "audio/audiostream.h" +#include "common/str.h" #include "audio/mididrv.h" #include "audio/mixer.h" #include "backends/audiocd/audiocd.h" #include "scumm/saveload.h" -namespace Audio { -class Mixer; -} - namespace Scumm { class ScummEngine; -class BaseScummFile; struct MP3OffsetTable; -struct SaveLoadEntry; enum { kTalkSoundID = 10000 |