aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/ui
diff options
context:
space:
mode:
authorThanasis Antoniou2018-06-18 14:10:00 +0300
committerEugene Sandulenko2018-12-25 12:35:52 +0100
commita86625700fe69ff27e0f704a41307cdd2135a6a8 (patch)
tree3e25f052da3d0cc4bf18d21960cedade06a19911 /engines/bladerunner/ui
parent9ceb2e858658cac3c7e4d592c3fa6f59a5776b9a (diff)
downloadscummvm-rg350-a86625700fe69ff27e0f704a41307cdd2135a6a8.tar.gz
scummvm-rg350-a86625700fe69ff27e0f704a41307cdd2135a6a8.tar.bz2
scummvm-rg350-a86625700fe69ff27e0f704a41307cdd2135a6a8.zip
BLADERUNNER: Added subtitles support and checkbox in KIA
Diffstat (limited to 'engines/bladerunner/ui')
-rw-r--r--engines/bladerunner/ui/elevator.cpp6
-rw-r--r--engines/bladerunner/ui/esper.cpp7
-rw-r--r--engines/bladerunner/ui/kia.cpp7
-rw-r--r--engines/bladerunner/ui/kia_section_settings.cpp50
-rw-r--r--engines/bladerunner/ui/kia_section_settings.h6
-rw-r--r--engines/bladerunner/ui/vk.cpp7
6 files changed, 81 insertions, 2 deletions
diff --git a/engines/bladerunner/ui/elevator.cpp b/engines/bladerunner/ui/elevator.cpp
index 64164f442d..7026f0ea01 100644
--- a/engines/bladerunner/ui/elevator.cpp
+++ b/engines/bladerunner/ui/elevator.cpp
@@ -32,6 +32,9 @@
#include "bladerunner/time.h"
#include "bladerunner/ui/ui_image_picker.h"
#include "bladerunner/vqa_player.h"
+#if SUBTITLES_SUPPORT
+#include "bladerunner/subtitles.h"
+#endif
#include "common/rect.h"
#include "common/str.h"
@@ -226,6 +229,9 @@ void Elevator::tick() {
_imagePicker->draw(_vm->_surfaceFront);
_vm->_mouse->draw(_vm->_surfaceFront, p.x, p.y);
+#if SUBTITLES_SUPPORT
+ _vm->_subtitles->tick(_vm->_surfaceFront);
+#endif
_vm->blitToScreen(_vm->_surfaceFront);
tickDescription();
_vm->_system->delayMillis(10);
diff --git a/engines/bladerunner/ui/esper.cpp b/engines/bladerunner/ui/esper.cpp
index 51c64f6bc9..2a0431f0d8 100644
--- a/engines/bladerunner/ui/esper.cpp
+++ b/engines/bladerunner/ui/esper.cpp
@@ -38,6 +38,9 @@
#include "bladerunner/time.h"
#include "bladerunner/ui/ui_image_picker.h"
#include "bladerunner/vqa_player.h"
+#if SUBTITLES_SUPPORT
+#include "bladerunner/subtitles.h"
+#endif
#include "common/rect.h"
#include "common/str.h"
@@ -230,7 +233,9 @@ void ESPER::tick() {
drawMouse(_vm->_surfaceFront);
tickSound();
-
+#if SUBTITLES_SUPPORT
+ _vm->_subtitles->tick(_vm->_surfaceFront);
+#endif
_vm->blitToScreen(_vm->_surfaceFront);
// TODO: implement 60hz lock for smoother experience
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index bd0402847b..183bf615d9 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -53,6 +53,9 @@
#include "bladerunner/ui/kia_shapes.h"
#include "bladerunner/ui/ui_image_picker.h"
#include "bladerunner/vqa_player.h"
+#if SUBTITLES_SUPPORT
+#include "bladerunner/subtitles.h"
+#endif // SUBTITLES_SUPPORT
#include "common/str.h"
#include "common/keyboard.h"
@@ -371,6 +374,10 @@ void KIA::tick() {
}
_vm->_mouse->draw(_vm->_surfaceFront, mouse.x, mouse.y);
+#if SUBTITLES_SUPPORT
+ _vm->_subtitles->tick(_vm->_surfaceFront);
+#endif
+
_vm->blitToScreen(_vm->_surfaceFront);
_vm->_system->delayMillis(10);
diff --git a/engines/bladerunner/ui/kia_section_settings.cpp b/engines/bladerunner/ui/kia_section_settings.cpp
index b557a04877..8ff3c7e7b5 100644
--- a/engines/bladerunner/ui/kia_section_settings.cpp
+++ b/engines/bladerunner/ui/kia_section_settings.cpp
@@ -55,7 +55,14 @@ KIASectionSettings::KIASectionSettings(BladeRunnerEngine *vm)
_ambientSoundVolume = new UISlider(_vm, sliderCallback, this, Common::Rect(180, 210, 460, 220), 101, 0);
_speechVolume = new UISlider(_vm, sliderCallback, this, Common::Rect(180, 235, 460, 245), 101, 0);
_gammaCorrection = new UISlider(_vm, sliderCallback, this, Common::Rect(180, 260, 460, 270), 101, 0);
- _directorsCut = new UICheckBox(_vm, checkBoxCallback, this, Common::Rect(180, 364, 460, 374), 0, false);
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ _directorsCut = new UICheckBox(_vm, checkBoxCallback, this, Common::Rect(180, 364, 270, 374), 0, false);
+ #if SUBTITLES_SUPPORT
+ _subtitlesEnable = new UICheckBox(_vm, checkBoxCallback, this, Common::Rect(291, 364, 360, 374), 0, false);
+ #endif // SUBTITLES_SUPPORT
+#else
+ _directorsCut = new UICheckBox(_vm, checkBoxCallback, this, Common::Rect(180, 364, 460, 374), 0, false); // original
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
_playerAgendaSelector = new UIImagePicker(_vm, 5);
_uiContainer->add(_musicVolume);
@@ -64,6 +71,11 @@ KIASectionSettings::KIASectionSettings(BladeRunnerEngine *vm)
_uiContainer->add(_speechVolume);
_uiContainer->add(_gammaCorrection);
_uiContainer->add(_directorsCut);
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ _uiContainer->add(_subtitlesEnable);
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
_learyPos = 0;
}
@@ -76,6 +88,11 @@ KIASectionSettings::~KIASectionSettings() {
delete _speechVolume;
delete _gammaCorrection;
delete _directorsCut;
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ delete _subtitlesEnable;
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
delete _playerAgendaSelector;
}
@@ -91,6 +108,11 @@ void KIASectionSettings::open() {
_playerAgendaSelector->activate(mouseInCallback, nullptr, nullptr, mouseUpCallback, this);
_directorsCut->enable();
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ _subtitlesEnable->enable();
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
}
void KIASectionSettings::close() {
@@ -104,6 +126,11 @@ void KIASectionSettings::draw(Graphics::Surface &surface) {
_speechVolume->setValue(_vm->_audioSpeech->getVolume());
_gammaCorrection->setValue(100.0f);
_directorsCut->setChecked(_vm->_gameFlags->query(kFlagDirectorsCut));
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ _subtitlesEnable->setChecked(_vm->_extraGameFlagsForRestoredContent->query(kEDSFlagSubtitlesEnable));
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
const char *textConversationChoices = _vm->_textOptions->getText(0);
const char *textMusic = _vm->_textOptions->getText(2);
@@ -116,6 +143,11 @@ void KIASectionSettings::draw(Graphics::Surface &surface) {
const char *textDark = _vm->_textOptions->getText(14);
const char *textLight = _vm->_textOptions->getText(15);
const char *textDesignersCut = _vm->_textOptions->getText(18);
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ const char *textSubtitles = "Subtitles";
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
int posConversationChoices = 320 - _vm->_mainFont->getTextWidth(textConversationChoices) / 2;
int posMusic = 320 - _vm->_mainFont->getTextWidth(textMusic) / 2;
@@ -152,6 +184,11 @@ void KIASectionSettings::draw(Graphics::Surface &surface) {
_vm->_mainFont->drawColor(textLight, surface, 462, 261, 0x6EEE);
_vm->_mainFont->drawColor(textDesignersCut, surface, 192, 365, 0x7751);
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ _vm->_mainFont->drawColor(textSubtitles, surface, 303, 365, 0x7751);
+ #endif // SUBTITLES_SUPPORT
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
_playerAgendaSelector->drawTooltip(surface, _mouseX, _mouseY);
}
@@ -227,6 +264,17 @@ void KIASectionSettings::checkBoxCallback(void *callbackData, void *source) {
self->_vm->_gameFlags->reset(kFlagDirectorsCut);
}
}
+ #if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ else if (source == self->_subtitlesEnable) {
+ if (self->_subtitlesEnable->_isChecked) {
+ self->_vm->_extraGameFlagsForRestoredContent->set(kEDSFlagSubtitlesEnable);
+ } else {
+ self->_vm->_extraGameFlagsForRestoredContent->reset(kEDSFlagSubtitlesEnable);
+ }
+ }
+ #endif // SUBTITLES_SUPPORT
+ #endif // BLADERUNNER_RESTORED_CONTENT_GAME
}
void KIASectionSettings::mouseInCallback(int buttonId, void *callbackData) {
diff --git a/engines/bladerunner/ui/kia_section_settings.h b/engines/bladerunner/ui/kia_section_settings.h
index 49356266b7..4c5452b595 100644
--- a/engines/bladerunner/ui/kia_section_settings.h
+++ b/engines/bladerunner/ui/kia_section_settings.h
@@ -23,6 +23,7 @@
#ifndef BLADERUNNER_KIA_SECTION_SETTINGS_H
#define BLADERUNNER_KIA_SECTION_SETTINGS_H
+#include "bladerunner/bladerunner.h" // to get the macro defines
#include "bladerunner/ui/kia_section_base.h"
namespace BladeRunner {
@@ -43,6 +44,11 @@ class KIASectionSettings : public KIASectionBase {
UISlider *_speechVolume;
UISlider *_gammaCorrection;
UICheckBox *_directorsCut;
+#if BLADERUNNER_RESTORED_CONTENT_GAME
+ #if SUBTITLES_SUPPORT
+ UICheckBox *_subtitlesEnable;
+ #endif
+#endif // BLADERUNNER_RESTORED_CONTENT_GAME
UIImagePicker *_playerAgendaSelector;
int _mouseX;
diff --git a/engines/bladerunner/ui/vk.cpp b/engines/bladerunner/ui/vk.cpp
index aa95b6bf9c..8565d39a36 100644
--- a/engines/bladerunner/ui/vk.cpp
+++ b/engines/bladerunner/ui/vk.cpp
@@ -41,6 +41,9 @@
#include "bladerunner/time.h"
#include "bladerunner/ui/ui_image_picker.h"
#include "bladerunner/vqa_player.h"
+#if SUBTITLES_SUPPORT
+#include "bladerunner/subtitles.h"
+#endif
#include "common/str.h"
#include "common/keyboard.h"
@@ -196,6 +199,10 @@ void VK::tick() {
draw();
+#if SUBTITLES_SUPPORT
+ _vm->_subtitles->tick(_vm->_surfaceFront);
+#endif // SUBTITLES_SUPPORT
+
_vm->blitToScreen(_vm->_surfaceFront);
_vm->_system->delayMillis(10);