diff --git a/engines/stark/services/dialogplayer.cpp b/engines/stark/services/dialogplayer.cpp index c98d61b12f6..541b2536ab6 100644 --- a/engines/stark/services/dialogplayer.cpp +++ b/engines/stark/services/dialogplayer.cpp @@ -25,10 +25,13 @@ #include "engines/stark/services/dialogplayer.h" #include "engines/stark/services/services.h" +#include "engines/stark/services/staticprovider.h" #include "engines/stark/resources/dialog.h" #include "engines/stark/resources/speech.h" +#include "engines/stark/visual/image.h" + namespace Stark { DialogPlayer::DialogPlayer() : @@ -42,6 +45,12 @@ DialogPlayer::~DialogPlayer() { delete _texture; } +void DialogPlayer::init() { + StaticProvider *staticProvider = StarkServices::instance().staticProvider; + // TODO: Un-hardcode + _passiveBackGroundTexture = staticProvider->getCursorImage(21); +} + void DialogPlayer::run(Resources::Dialog *dialog) { reset(); @@ -162,7 +171,10 @@ void DialogPlayer::clearSubtitles() { } void DialogPlayer::renderText() { - + // TODO: Unhardcode + Gfx::Driver *gfx = StarkServices::instance().gfx; + gfx->setScreenViewport(true); + _passiveBackGroundTexture->render(Common::Point(0, 400)); if (_texture) { Gfx::Driver *gfx = StarkServices::instance().gfx; gfx->setScreenViewport(false); diff --git a/engines/stark/services/dialogplayer.h b/engines/stark/services/dialogplayer.h index 51b94b47a1c..6c676dc7bdb 100644 --- a/engines/stark/services/dialogplayer.h +++ b/engines/stark/services/dialogplayer.h @@ -29,6 +29,8 @@ namespace Stark { +class VisualImageXMG; + namespace Gfx { class Texture; } @@ -44,6 +46,9 @@ public: DialogPlayer(); virtual ~DialogPlayer(); + /** Initialise textures etc, that can't be created at constructor-time */ + void init(); + /** Enter a dialog */ void run(Resources::Dialog *dialog); @@ -91,6 +96,7 @@ protected: bool _speechReady; Common::Array