aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/messages.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mads/messages.cpp')
-rw-r--r--engines/mads/messages.cpp49
1 files changed, 25 insertions, 24 deletions
diff --git a/engines/mads/messages.cpp b/engines/mads/messages.cpp
index cc618c4b76..3b6663e71d 100644
--- a/engines/mads/messages.cpp
+++ b/engines/mads/messages.cpp
@@ -301,13 +301,13 @@ TextDisplayList::TextDisplayList(MADSEngine *vm) : _vm(vm) {
TextDisplay rec;
rec._active = false;
rec._expire = 0;
- _entries.push_back(rec);
+ push_back(rec);
}
}
void TextDisplayList::clear() {
for (int i = 0; i < TEXT_DISPLAY_SIZE; ++i)
- _entries[i]._active = false;
+ (*this)[i]._active = false;
}
int TextDisplayList::add(int xp, int yp, uint fontColor, int charSpacing,
@@ -315,20 +315,21 @@ int TextDisplayList::add(int xp, int yp, uint fontColor, int charSpacing,
int usedSlot = -1;
for (int idx = 0; idx < TEXT_DISPLAY_SIZE; ++idx) {
- if (!_entries[idx]._active) {
+ TextDisplay &td = (*this)[idx];
+ if (!td._active) {
usedSlot = idx;
- _entries[idx]._bounds.left = xp;
- _entries[idx]._bounds.top = yp;
- _entries[idx]._font = font;
- _entries[idx]._msg = msg;
- _entries[idx]._bounds.setWidth(font->getWidth(msg, charSpacing));
- _entries[idx]._bounds.setHeight(font->getHeight());
- _entries[idx]._color1 = fontColor & 0xff;
- _entries[idx]._color2 = fontColor >> 8;
- _entries[idx]._spacing = charSpacing;
- _entries[idx]._expire = 1;
- _entries[idx]._active = true;
+ td._bounds.left = xp;
+ td._bounds.top = yp;
+ td._font = font;
+ td._msg = msg;
+ td._bounds.setWidth(font->getWidth(msg, charSpacing));
+ td._bounds.setHeight(font->getHeight());
+ td._color1 = fontColor & 0xff;
+ td._color2 = fontColor >> 8;
+ td._spacing = charSpacing;
+ td._expire = 1;
+ td._active = true;
break;
}
}
@@ -340,11 +341,11 @@ void TextDisplayList::setDirtyAreas() {
Scene &scene = _vm->_game->_scene;
for (uint idx = 0, dirtyIdx = DIRTY_AREAS_TEXT_DISPLAY_IDX; dirtyIdx < DIRTY_AREAS_SIZE; ++idx, ++dirtyIdx) {
- if ((_entries[idx]._expire >= 0) || !_entries[idx]._active)
+ if (((*this)[idx]._expire >= 0) || !(*this)[idx]._active)
scene._dirtyAreas[dirtyIdx]._active = false;
else {
scene._dirtyAreas[dirtyIdx]._textActive = true;
- scene._dirtyAreas.setTextDisplay(dirtyIdx, _entries[idx]);
+ scene._dirtyAreas[dirtyIdx].setTextDisplay(&(*this)[idx]);
}
}
}
@@ -353,9 +354,9 @@ void TextDisplayList::setDirtyAreas2() {
Scene &scene = _vm->_game->_scene;
for (uint idx = 0, dirtyIdx = DIRTY_AREAS_TEXT_DISPLAY_IDX; dirtyIdx < DIRTY_AREAS_SIZE; ++idx, ++dirtyIdx) {
- if (_entries[idx]._active && (_entries[idx]._expire >= 0)) {
- scene._dirtyAreas.setTextDisplay(dirtyIdx, _entries[idx]);
- scene._dirtyAreas[dirtyIdx]._textActive = (_entries[idx]._expire <= 0) ? 0 : 1;
+ if ((*this)[idx]._active && ((*this)[idx]._expire >= 0)) {
+ scene._dirtyAreas[dirtyIdx].setTextDisplay(&(*this)[idx]);
+ scene._dirtyAreas[dirtyIdx]._textActive = ((*this)[idx]._expire <= 0) ? 0 : 1;
}
}
}
@@ -375,16 +376,16 @@ void TextDisplayList::draw(MSurface *view) {
}
void TextDisplayList::cleanUp() {
- for (uint idx = 0; idx < _entries.size(); ++idx) {
- if (_entries[idx]._expire < 0) {
- _entries[idx]._active = false;
- _entries[idx]._expire = 0;
+ for (uint idx = 0; idx < size(); ++idx) {
+ if ((*this)[idx]._expire < 0) {
+ (*this)[idx]._active = false;
+ (*this)[idx]._expire = 0;
}
}
}
void TextDisplayList::expire(int idx) {
- _entries[idx]._expire = -1;
+ (*this)[idx]._expire = -1;
}
} // End of namespace MADS