diff options
author | Paul Gilbert | 2016-09-11 09:27:51 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-09-11 09:27:51 -0400 |
commit | 49bc276ea3e297c23098d4f0e6ab331f0b89f6ee (patch) | |
tree | 4880e281775c5bda5ab7c29afbad53334e4f0310 /engines/titanic/game/variable_list.cpp | |
parent | 8fed7e1620ecbfcbf08c8d47c4ab27c6ed1d8619 (diff) | |
download | scummvm-rg350-49bc276ea3e297c23098d4f0e6ab331f0b89f6ee.tar.gz scummvm-rg350-49bc276ea3e297c23098d4f0e6ab331f0b89f6ee.tar.bz2 scummvm-rg350-49bc276ea3e297c23098d4f0e6ab331f0b89f6ee.zip |
TTIANIC: Add CPlaceHolderItem, CVariableList classes
Diffstat (limited to 'engines/titanic/game/variable_list.cpp')
-rw-r--r-- | engines/titanic/game/variable_list.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/engines/titanic/game/variable_list.cpp b/engines/titanic/game/variable_list.cpp new file mode 100644 index 0000000000..1ddf1bc957 --- /dev/null +++ b/engines/titanic/game/variable_list.cpp @@ -0,0 +1,73 @@ +/* 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 "titanic/game/variable_list.h" + +namespace Titanic { + +void CVariableListItem::save(SimpleFile *file, int indent) { + file->writeNumberLine(3, indent); + file->writeNumberLine(_field44, indent); + file->writeQuotedLine(_string1, indent); + file->writeNumberLine(_field18, indent); + file->writeNumberLine(_field40, indent); + file->writeQuotedLine(_string2, indent); + file->writeQuotedLine(_string3, indent); + file->writeQuotedLine(_string4, indent); + + ListItem::save(file, indent); +} + +void CVariableListItem::load(SimpleFile *file) { + int field40 = 0, field44 = 0; + + switch (file->readNumber()) { + case 3: + field44 = file->readNumber(); + // Deliberate fall-through + + case 2: + _string1 = file->readString(); + _field18 = file->readNumber(); + // Deliberate fall-through + + case 1: + field40 = file->readNumber(); + // Deliberate fall-through + + case 0: + _string2 = file->readString(); + _string3 = file->readString(); + _string4 = file->readString(); + break; + + default: + break; + } + + _field40 = field40; + _field44 = field44; + + ListItem::load(file); +} + +} // End of namespace Titanic |