aboutsummaryrefslogtreecommitdiff
path: root/sword2
diff options
context:
space:
mode:
authorTorbjörn Andersson2003-09-09 15:17:12 +0000
committerTorbjörn Andersson2003-09-09 15:17:12 +0000
commit78afd89698b41943feb9d49b607e7b70895f185a (patch)
treebfc91271283b4a37dd83ee7ea7c661855005dfb1 /sword2
parentbc28dac67dfe47396fde3bf822512a9945f4a3c2 (diff)
downloadscummvm-rg350-78afd89698b41943feb9d49b607e7b70895f185a.tar.gz
scummvm-rg350-78afd89698b41943feb9d49b607e7b70895f185a.tar.bz2
scummvm-rg350-78afd89698b41943feb9d49b607e7b70895f185a.zip
Reworked the last commit a bit, so that PlaySmacker() doesn't need to know
as much about the text handling functions. svn-id: r10137
Diffstat (limited to 'sword2')
-rw-r--r--sword2/driver/d_draw.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/sword2/driver/d_draw.cpp b/sword2/driver/d_draw.cpp
index c0fae08eac..cac04c1dd0 100644
--- a/sword2/driver/d_draw.cpp
+++ b/sword2/driver/d_draw.cpp
@@ -403,16 +403,20 @@ int32 NextSmackerFrame(void) {
uint8 *textSurface = NULL;
void OpenTextObject(_movieTextObject *obj) {
- CreateSurface(obj->textSprite, &textSurface);
+ if (obj->textSprite)
+ CreateSurface(obj->textSprite, &textSurface);
}
void CloseTextObject(_movieTextObject *obj) {
- DeleteSurface(textSurface);
- textSurface = 0;
+ if (textSurface) {
+ DeleteSurface(textSurface);
+ textSurface = 0;
+ }
}
void DrawTextObject(_movieTextObject *obj) {
- DrawSurface(obj->textSprite, textSurface);
+ if (obj->textSprite && textSurface)
+ DrawSurface(obj->textSprite, textSurface);
/*
HRESULT hr;
@@ -573,17 +577,14 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) {
if (frameCounter == text[textCounter]->startFrame) {
EraseBackBuffer();
- if (text[textCounter]->textSprite) {
- OpenTextObject(text[textCounter]);
- DrawTextObject(text[textCounter]);
- }
+ OpenTextObject(text[textCounter]);
+ DrawTextObject(text[textCounter]);
if (text[textCounter]->speech)
debug(0, "FIXME: Play subtitle speech");
}
if (frameCounter == text[textCounter]->endFrame) {
- if (text[textCounter]->textSprite)
- CloseTextObject(text[textCounter]);
+ CloseTextObject(text[textCounter]);
EraseBackBuffer();
textCounter++;
}
@@ -607,8 +608,7 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) {
BS2_SetPalette(0, 256, oldPal, RDPAL_INSTANT);
- if (textSurface)
- CloseTextObject(text[textCounter]);
+ CloseTextObject(text[textCounter]);
}
return(RD_OK);