diff options
-rw-r--r-- | engines/zvision/puzzle.cpp | 46 | ||||
-rw-r--r-- | engines/zvision/puzzle.h | 19 |
2 files changed, 48 insertions, 17 deletions
diff --git a/engines/zvision/puzzle.cpp b/engines/zvision/puzzle.cpp new file mode 100644 index 0000000000..8399919399 --- /dev/null +++ b/engines/zvision/puzzle.cpp @@ -0,0 +1,46 @@ +/* ScummVM - Graphic Adventure Engine +* +* ScummVM is the legal property of its developers, whose names +* are too numerous to list here. Please refer to the COPYRIGHT +* file distributed with this source distribution. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. + +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. + +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +* +*/ + +#include "common/scummsys.h" + +#include "zvision/actions.h" +#include "zvision/puzzle.h" + +namespace ZVision { + +Puzzle::~Puzzle() { + for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); iter++) { + delete (*iter); + } +} + +Puzzle::Puzzle(const Puzzle &other) + : key(other.key), + criteriaList(other.criteriaList), + flags(flags) { + // We have to clone the ResultActions since they are on the heap + for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); iter++) { + resultActions.push_back((*iter)->clone()); + } +} + +} // End of namespace ZVision diff --git a/engines/zvision/puzzle.h b/engines/zvision/puzzle.h index 08d8a5cfd7..a0c4e9d758 100644 --- a/engines/zvision/puzzle.h +++ b/engines/zvision/puzzle.h @@ -60,24 +60,9 @@ enum StateFlags { class Puzzle { public: - ~Puzzle() { - for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); iter++) { - delete (*iter); - } - } - Puzzle() {} - - // Copy constructor - Puzzle(const Puzzle &other) - : key(other.key), - criteriaList(other.criteriaList), - flags(flags) { - // We have to clone the ResultActions since they are on the heap - for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); iter++) { - resultActions.push_back((*iter)->clone()); - } - } + ~Puzzle(); + Puzzle(const Puzzle &other); uint32 key; Common::List<Criteria> criteriaList; |