aboutsummaryrefslogtreecommitdiff
path: root/engines/cryomni3d/versailles
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cryomni3d/versailles')
-rw-r--r--engines/cryomni3d/versailles/dialogs_manager.cpp6
-rw-r--r--engines/cryomni3d/versailles/dialogs_manager.h5
-rw-r--r--engines/cryomni3d/versailles/engine.cpp31
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);