aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agi/agi.cpp7
-rw-r--r--engines/agi/view.h3
2 files changed, 6 insertions, 4 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 3f98a1d4be..c18e9ac0b7 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -102,10 +102,11 @@ int AgiEngine::agiInit() {
}
// clear view table
- for (i = 0; i < SCREENOBJECTS_MAX; i++)
- memset(&_game.screenObjTable[i], 0, sizeof(struct ScreenObjEntry));
+ for (i = 0; i < SCREENOBJECTS_MAX; i++) {
+ _game.screenObjTable[i].reset();
+ }
- memset(&_game.addToPicView, 0, sizeof(struct ScreenObjEntry));
+ _game.addToPicView.reset();
_words->clearEgoWords();
diff --git a/engines/agi/view.h b/engines/agi/view.h
index adcf7dd1b3..1c57d5d468 100644
--- a/engines/agi/view.h
+++ b/engines/agi/view.h
@@ -133,7 +133,8 @@ struct ScreenObjEntry {
// end of motion related variables
uint8 loop_flag;
- ScreenObjEntry() { memset(this, 0, sizeof(ScreenObjEntry)); }
+ void reset() { memset(this, 0, sizeof(ScreenObjEntry)); }
+ ScreenObjEntry() { reset(); }
}; // struct vt_entry
} // End of namespace Agi