aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/core.cpp18
-rw-r--r--engines/tsage/core.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index 4b27e77687..38d21d98be 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -2465,6 +2465,24 @@ Visage::Visage() {
_data = NULL;
}
+Visage::Visage(const Visage &v) {
+ _resNum = v._resNum;
+ _rlbNum = v._rlbNum;
+ _data = v._data;
+ if (_data)
+ _vm->_memoryManager.incLocks(_data);
+}
+
+Visage &Visage::operator=(const Visage &s) {
+ _resNum = s._resNum;
+ _rlbNum = s._rlbNum;
+ _data = s._data;
+ if (_data)
+ _vm->_memoryManager.incLocks(_data);
+
+ return *this;
+}
+
void Visage::setVisage(int resNum, int rlbNum) {
if ((_resNum != resNum) || (_rlbNum != rlbNum)) {
_resNum = resNum;
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 09f648a811..148b44874d 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -433,11 +433,13 @@ public:
int _rlbNum;
public:
Visage();
+ Visage(const Visage &v);
~Visage();
void setVisage(int resNum, int rlbNum = 9999);
GfxSurface getFrame(int frameNum);
int getFrameCount() const;
+ Visage &operator=(const Visage &s);
};
class SceneObjectWrapper: public EventHandler {