aboutsummaryrefslogtreecommitdiff
path: root/saga/scene.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-07-14 17:46:21 +0000
committerAndrew Kurushin2005-07-14 17:46:21 +0000
commit528eedb2de57eae737d0f7135b77a860d1b9eb41 (patch)
tree95162d61d1adb476e6e5785ad09f7d24f548e311 /saga/scene.cpp
parent19e118324d8beb8d9758d0844a316c1667236c6c (diff)
downloadscummvm-rg350-528eedb2de57eae737d0f7135b77a860d1b9eb41.tar.gz
scummvm-rg350-528eedb2de57eae737d0f7135b77a860d1b9eb41.tar.bz2
scummvm-rg350-528eedb2de57eae737d0f7135b77a860d1b9eb41.zip
font & text related changes:
-rewritten font loading -actors box text output implemented -many fixes -implemented nonactors textoutput svn-id: r18542
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r--saga/scene.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp
index 753a758dbf..5f738b20e7 100644
--- a/saga/scene.cpp
+++ b/saga/scene.cpp
@@ -36,7 +36,6 @@
#include "saga/render.h"
#include "saga/rscfile_mod.h"
#include "saga/script.h"
-#include "saga/text.h"
#include "saga/sound.h"
#include "saga/music.h"
@@ -95,15 +94,7 @@ Scene::Scene(SagaEngine *vm) : _vm(vm), _initialized(false) {
debug(3, "First scene set to %d.", _firstScene);
- debug(3, "LUT has %d entries.", _sceneCount);
-
- // Create scene module text list
- _textList = _vm->textCreateList();
-
- if (_textList == NULL) {
- warning("Scene::Scene(): Error: Couldn't create scene text list");
- return;
- }
+ debug(3, "LUT has %d entries.", _sceneCount);
_sceneLoaded = false;
_sceneNumber = 0;
@@ -129,6 +120,18 @@ Scene::~Scene() {
}
}
+void Scene::drawTextList(Surface *ds) {
+ TextListEntry *entry;
+
+ for (TextList::iterator textIterator = _textList.begin(); textIterator != _textList.end(); ++textIterator) {
+ entry = (TextListEntry *)textIterator.operator->();
+ if (entry->display != 0) {
+ _vm->_font->textDraw(entry->fontId, ds, entry->text, entry->point, entry->color, entry->effectColor, entry->flags);
+ }
+ }
+}
+
+
void Scene::startScene() {
SceneQueueList::iterator queueIterator;
LoadSceneParams *sceneQueue;
@@ -953,7 +956,7 @@ void Scene::endScene() {
_vm->_isoMap->freeMem();
_vm->_events->clearList();
- _vm->textClearList(_textList);
+ _textList.clear();
_sceneLoaded = false;