diff options
author | Torbjörn Andersson | 2003-09-09 15:17:12 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2003-09-09 15:17:12 +0000 |
commit | 78afd89698b41943feb9d49b607e7b70895f185a (patch) | |
tree | bfc91271283b4a37dd83ee7ea7c661855005dfb1 /sword2 | |
parent | bc28dac67dfe47396fde3bf822512a9945f4a3c2 (diff) | |
download | scummvm-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.cpp | 24 |
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); |