diff options
Diffstat (limited to 'engines/cryomni3d/versailles')
-rw-r--r-- | engines/cryomni3d/versailles/dialogs_manager.cpp | 6 | ||||
-rw-r--r-- | engines/cryomni3d/versailles/dialogs_manager.h | 5 | ||||
-rw-r--r-- | engines/cryomni3d/versailles/engine.cpp | 31 |
3 files changed, 25 insertions, 17 deletions
diff --git a/engines/cryomni3d/versailles/dialogs_manager.cpp b/engines/cryomni3d/versailles/dialogs_manager.cpp index 1ec751ad9f..d7290c9049 100644 --- a/engines/cryomni3d/versailles/dialogs_manager.cpp +++ b/engines/cryomni3d/versailles/dialogs_manager.cpp @@ -93,8 +93,10 @@ void Versailles_DialogsManager::playDialog(const Common::String &video, const Co Common::String videoFName(_engine->prepareFileName(video, "hnm")); Common::String soundFName(sound); - while (soundFName.size() < 8) { - soundFName += '_'; + if (_padAudioFileName) { + while (soundFName.size() < 8) { + soundFName += '_'; + } } soundFName = _engine->prepareFileName(soundFName, "wav"); diff --git a/engines/cryomni3d/versailles/dialogs_manager.h b/engines/cryomni3d/versailles/dialogs_manager.h index 9c41fc4cef..55d45ace36 100644 --- a/engines/cryomni3d/versailles/dialogs_manager.h +++ b/engines/cryomni3d/versailles/dialogs_manager.h @@ -37,7 +37,9 @@ class CryOmni3DEngine_Versailles; class Versailles_DialogsManager : public DialogsManager { public: - Versailles_DialogsManager(CryOmni3DEngine_Versailles *engine) : _engine(engine) { } + Versailles_DialogsManager(CryOmni3DEngine_Versailles *engine, + bool padAudioFileName) : _engine(engine), + _padAudioFileName(padAudioFileName) { } // This overload will hide the base one and this is what we want bool play(const Common::String &sequence); @@ -56,6 +58,7 @@ protected: private: CryOmni3DEngine_Versailles *_engine; Common::HashMap<Common::String, ShowCallback> _shows; + bool _padAudioFileName; void loadFrame(const Common::String &video); diff --git a/engines/cryomni3d/versailles/engine.cpp b/engines/cryomni3d/versailles/engine.cpp index e27991507d..98a34e31d5 100644 --- a/engines/cryomni3d/versailles/engine.cpp +++ b/engines/cryomni3d/versailles/engine.cpp @@ -53,7 +53,8 @@ CryOmni3DEngine_Versailles::CryOmni3DEngine_Versailles(OSystem *syst, _mainPalette(nullptr), _cursorPalette(nullptr), _transparentPaletteMap(nullptr), _currentPlace(nullptr), _currentWarpImage(nullptr), _fixedImage(nullptr), _transitionAnimateWarp(true), _forceRedrawWarp(false), _forcePaletteUpdate(false), - _fadedPalette(false), _loadedSave(uint(-1)), _dialogsMan(this), + _fadedPalette(false), _loadedSave(uint(-1)), _dialogsMan(this, + getFeatures() & GF_VERSAILLES_AUDIOPADDING), _musicVolumeFactor(1.), _musicCurrentFile(nullptr), _countingDown(false), _countdownNextEvent(0) { } @@ -302,7 +303,21 @@ void CryOmni3DEngine_Versailles::setupFonts() { Common::Array<Common::String> fonts; // Explainations below are based on original binaries, debug is not used in this engine - if (getPlatform() == Common::kPlatformMacintosh) { + // Fonts loaded are not always the same: FR Mac and EN DOS don't use the same font for debug doc/unused + // The important is that the loaded one is present in all versions + if (getFeatures() & GF_VERSAILLES_NUMERICFONTS) { + fonts.push_back("font01.CRF"); // 0: Doc titles + fonts.push_back("font02.CRF"); // 1: Menu and T0 in credits + fonts.push_back("font03.CRF"); // 2: T1 and T3 in credits + fonts.push_back("font04.CRF"); // 3: Menu title, options messages boxes buttons + fonts.push_back("font05.CRF"); // 4: T2 in credits, text in docs + fonts.push_back("font06.CRF"); // 5: objects description in toolbar, options messages boxes text, T4 in credits + fonts.push_back("font07.CRF"); // 6: T5 in credits, doc subtitle + fonts.push_back("font08.CRF"); // 7: dialogs texts + fonts.push_back("font09.CRF"); // 8: unused + fonts.push_back("font10.CRF"); // 9: Warp messages texts + fonts.push_back("font11.CRF"); // 10: debug + } else { fonts.push_back("garamB18.CRF"); // 0: Doc titles fonts.push_back("garamB22.CRF"); // 1: Menu and T0 in credits //fonts.push_back("geneva15.CRF"); @@ -332,18 +347,6 @@ void CryOmni3DEngine_Versailles::setupFonts() { // This file isn't even loaded by MacOS executable //fonts.push_back("garamB20.CRF"); - } else { - fonts.push_back("font01.CRF"); // 0: Doc titles - fonts.push_back("font02.CRF"); // 1: Menu and T0 in credits - fonts.push_back("font03.CRF"); // 2: T1 and T3 in credits - fonts.push_back("font04.CRF"); // 3: Menu title, options messages boxes buttons - fonts.push_back("font05.CRF"); // 4: T2 in credits, text in docs - fonts.push_back("font06.CRF"); // 5: objects description in toolbar, options messages boxes text, T4 in credits - fonts.push_back("font07.CRF"); // 6: T5 in credits, doc subtitle - fonts.push_back("font08.CRF"); // 7: dialogs texts - fonts.push_back("font09.CRF"); // 8: unused - fonts.push_back("font10.CRF"); // 9: Warp messages texts - fonts.push_back("font11.CRF"); // 10: debug } _fontManager.loadFonts(fonts); |