diff options
author | Thanasis Antoniou | 2019-05-29 12:07:55 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-05-29 12:08:24 +0300 |
commit | b7e1f8a9ffa0d068536ac5b6319f49ec22a3247d (patch) | |
tree | 8b489a2142b7eb301369fd56e43f6950dd31aa65 /engines/bladerunner/subtitles.h | |
parent | 04d7f72bf79f3acc3975299e79d5b65c24f43f39 (diff) | |
download | scummvm-rg350-b7e1f8a9ffa0d068536ac5b6319f49ec22a3247d.tar.gz scummvm-rg350-b7e1f8a9ffa0d068536ac5b6319f49ec22a3247d.tar.bz2 scummvm-rg350-b7e1f8a9ffa0d068536ac5b6319f49ec22a3247d.zip |
BLADERUNNER: Support for displaying subtitles info
Diffstat (limited to 'engines/bladerunner/subtitles.h')
-rw-r--r-- | engines/bladerunner/subtitles.h | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/engines/bladerunner/subtitles.h b/engines/bladerunner/subtitles.h index e52e19c825..674dde44b1 100644 --- a/engines/bladerunner/subtitles.h +++ b/engines/bladerunner/subtitles.h @@ -35,8 +35,6 @@ namespace BladeRunner { class BladeRunnerEngine; -//class SaveFileReadStream; -//class SaveFileWriteStream; class TextResource; class Font; @@ -44,18 +42,26 @@ class Subtitles { friend class Debugger; // // Subtitles could be in 6 possible languages are EN_ANY, DE_DEU, FR_FRA, IT_ITA, RU_RUS, ES_ESP - // with corresponding _vm->_languageCode values: "E", "G", "F", "I", "E", "S" (Russian version is built on top of English one) - static const int kMaxNumOfSubtitlesLines = 4; // At least one quote in the game requires 4 lines to be displayed correctly - static const int kStartFromSubtitleLineFromTop = 2; // Prefer drawing from this line (the top-most of available subtitle lines index is 0) by default - static const int kSubtitlesBottomYOffsetPx = 12; // In pixels. This is the bottom margin beneath the subtitles space - static const int kMaxWidthPerLineToAutoSplitThresholdPx = 610; // In pixels - static const int kMaxTextResourceEntries = 1 + 25; // Support in-game subs (1) and all possible VQAs (25) with spoken dialogue or translatable text! + // with corresponding _vm->_languageCode values: "E", "G", "F", "I", "E", "S" (Russian version is built on top of English one) + static const int kMaxNumOfSubtitlesLines = 4; // At least one quote in the game requires 4 lines to be displayed correctly + static const int kStartFromSubtitleLineFromTop = 2; // Prefer drawing from this line (the top-most of available subtitle lines index is 0) by default + static const int kSubtitlesBottomYOffsetPx = 12; // In pixels. This is the bottom margin beneath the subtitles space + static const int kMaxWidthPerLineToAutoSplitThresholdPx = 610; // In pixels + static const int kMaxTextResourceEntries = 1 + 25; // Support in-game subs (1) and all possible VQAs (25) with spoken dialogue or translatable text static const char *SUBTITLES_FILENAME_PREFIXES[kMaxTextResourceEntries]; static const char *SUBTITLES_FONT_FILENAME_EXTERNAL; - + static const char *SUBTITLES_VERSION_TRENAME; BladeRunnerEngine *_vm; + struct SubtitlesInfo { + Common::String versionStr; + Common::String dateOfCompile; + Common::String languageMode; + Common::String credits; + }; + + SubtitlesInfo _subtitlesInfo; TextResource *_vqaSubsTextResourceEntries[kMaxTextResourceEntries]; Font *_subsFont; @@ -69,21 +75,23 @@ class Subtitles { int _currentSubtitleLines; bool _subtitlesQuoteChanged; - bool _gameSubsResourceEntriesFound[kMaxTextResourceEntries]; // false if a TRE file did not open successfully - bool _subsFontsLoaded; // false if external fonts did not load - bool _subtitlesSystemActive; // true if the whole subtitles subsystem should be disabled (due to missing required resources) + bool _gameSubsResourceEntriesFound[kMaxTextResourceEntries]; // false if a TRE file did not open successfully + bool _subsFontsLoaded; // false if external fonts did not load + bool _subtitlesSystemActive; // true if the whole subtitles subsystem should be disabled (due to missing required resources) public: Subtitles(BladeRunnerEngine *vm); ~Subtitles(); bool isSystemActive() const { return _subtitlesSystemActive; } + bool isSubsFontsLoaded() const { return _subsFontsLoaded; } void init(); + SubtitlesInfo getSubtitlesInfo() const; const char *getInGameSubsText(int actorId, int speech_id); // get the text for actorId, quoteId (in-game subs) const char *getOuttakeSubsText(const Common::String &outtakesName, int frame); // get the text for this frame if any - void setGameSubsText(Common::String dbgQuote, bool force); // for debugging - explicit set subs text + void setGameSubsText(Common::String dbgQuote, bool force); // for debugging - explicit set subs text bool show(); bool hide(); bool isVisible() const; |