From 2a646f8cc287a98f90e561ce8072c2af4322fd22 Mon Sep 17 00:00:00 2001 From: Thomas Fach-Pedersen Date: Sat, 17 Mar 2018 16:14:48 +0100 Subject: BLADERUNNER: Save game methods --- engines/bladerunner/actor_dialogue_queue.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'engines/bladerunner/actor_dialogue_queue.cpp') diff --git a/engines/bladerunner/actor_dialogue_queue.cpp b/engines/bladerunner/actor_dialogue_queue.cpp index dbf5598a52..5f0ad60426 100644 --- a/engines/bladerunner/actor_dialogue_queue.cpp +++ b/engines/bladerunner/actor_dialogue_queue.cpp @@ -26,6 +26,7 @@ #include "bladerunner/actor.h" #include "bladerunner/audio_speech.h" +#include "bladerunner/savefile.h" #include "bladerunner/scene.h" #include "bladerunner/script/scene_script.h" @@ -159,6 +160,30 @@ void ActorDialogueQueue::tick() { } } +void ActorDialogueQueue::save(SaveFile &f) { + int count = (int)_entries.size(); + f.write(count); + for (int i = 0; i < count; ++i) { + Entry &e = _entries[i]; + f.write(e.isNotPause); + f.write(e.isPause); + f.write(e.actorId); + f.write(e.sentenceId); + f.write(e.animationMode); + f.write(e.delay); + } + f.padBytes((25 - count) * 24); + + f.write(_isNotPause); + f.write(_actorId); + f.write(_sentenceId); + f.write(_animationMode); + f.write(_animationModePrevious); + f.write(_isPause); + f.write(_delay); + // f.write(_timeLast); +} + void ActorDialogueQueue::clear() { _entries.clear(); _isNotPause = false; @@ -170,4 +195,5 @@ void ActorDialogueQueue::clear() { _delay = 0; _timeLast = 0; } + } // End of namespace BladeRunner -- cgit v1.2.3