aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-08 15:26:19 +0200
committerEugene Sandulenko2014-01-08 15:26:37 +0200
commita40c6075735869b6f802552f0a9966445f515d0d (patch)
tree20b3c5398fa3b1b7974f7922468a78fcf201bb4b /engines
parent70f7770c6a5e5febc43ee81a8a1b33547c366c37 (diff)
downloadscummvm-rg350-a40c6075735869b6f802552f0a9966445f515d0d.tar.gz
scummvm-rg350-a40c6075735869b6f802552f0a9966445f515d0d.tar.bz2
scummvm-rg350-a40c6075735869b6f802552f0a9966445f515d0d.zip
FULLPIPE: Complete ObjstateCommand class
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/messages.cpp11
-rw-r--r--engines/fullpipe/messages.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index 9af4c59116..b0abe30504 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -234,6 +234,13 @@ ObjstateCommand::ObjstateCommand() {
_objCommandName = 0;
}
+ObjstateCommand::ObjstateCommand(ObjstateCommand *src) : ExCommand(src) {
+ _value = src->_value;
+ _objCommandName = (char *)calloc(strlen(src->_objCommandName) + 1, 1);
+
+ strncpy(_objCommandName, src->_objCommandName, strlen(src->_objCommandName));
+}
+
ObjstateCommand::~ObjstateCommand() {
free(_objCommandName);
}
@@ -253,9 +260,7 @@ bool ObjstateCommand::load(MfcArchive &file) {
}
ObjstateCommand *ObjstateCommand::createClone() {
- warning("STUB: ObjstateCommand::createClone()");
-
- return this;
+ return new ObjstateCommand(this);
}
MessageQueue::MessageQueue() {
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h
index 75345137b4..2e8a29c2cb 100644
--- a/engines/fullpipe/messages.h
+++ b/engines/fullpipe/messages.h
@@ -99,6 +99,7 @@ class ObjstateCommand : public ExCommand {
public:
ObjstateCommand();
+ ObjstateCommand(ObjstateCommand *src);
virtual ~ObjstateCommand();
virtual bool load(MfcArchive &file);