diff options
Diffstat (limited to 'engines/bladerunner/dialogue_menu.cpp')
-rw-r--r-- | engines/bladerunner/dialogue_menu.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/engines/bladerunner/dialogue_menu.cpp b/engines/bladerunner/dialogue_menu.cpp index 685c8459e0..7b7223fe94 100644 --- a/engines/bladerunner/dialogue_menu.cpp +++ b/engines/bladerunner/dialogue_menu.cpp @@ -25,6 +25,7 @@ #include "bladerunner/bladerunner.h" #include "bladerunner/font.h" #include "bladerunner/mouse.h" +#include "bladerunner/savefile.h" #include "bladerunner/settings.h" #include "bladerunner/shape.h" #include "bladerunner/text_resource.h" @@ -364,6 +365,30 @@ bool DialogueMenu::waitingForInput() const { return _waitingForInput; } +void DialogueMenu::save(SaveFile &f) { + f.write(_isVisible); + f.write(_waitingForInput); + f.write(_selectedItemIndex); + f.write(_listSize); + + f.write(_neverRepeatListSize); + for (int i = 0; i < 100; ++i) { + f.write(_neverRepeatValues[i]); + } + for (int i = 0; i < 100; ++i) { + f.write(_neverRepeatWasSelected[i]); + } + for (int i = 0; i < 10; ++i) { + f.write(_items[i].text, 50); + f.write(_items[i].answerValue); + f.write(_items[i].colorIntensity); + f.write(_items[i].priorityPolite); + f.write(_items[i].priorityNormal); + f.write(_items[i].prioritySurly); + f.write(_items[i].isDone); + } +} + void DialogueMenu::clear() { _isVisible = false; _waitingForInput = false; |