diff options
author | Paul Gilbert | 2016-03-10 18:44:18 -0500 |
---|---|---|
committer | Paul Gilbert | 2016-03-10 18:44:18 -0500 |
commit | 0fead6fe565d6e4a70adc1ab2273b55026e07655 (patch) | |
tree | 707ee760ad7bbfc612f6697f985c2b33820fac49 /engines/titanic/npcs | |
parent | 759c0e3b4584d412f12250e0f248bad062581215 (diff) | |
download | scummvm-rg350-0fead6fe565d6e4a70adc1ab2273b55026e07655.tar.gz scummvm-rg350-0fead6fe565d6e4a70adc1ab2273b55026e07655.tar.bz2 scummvm-rg350-0fead6fe565d6e4a70adc1ab2273b55026e07655.zip |
TITANIC: Beginnings of game manager data loading
Diffstat (limited to 'engines/titanic/npcs')
-rw-r--r-- | engines/titanic/npcs/true_talk_manager.cpp | 47 | ||||
-rw-r--r-- | engines/titanic/npcs/true_talk_manager.h | 26 |
2 files changed, 73 insertions, 0 deletions
diff --git a/engines/titanic/npcs/true_talk_manager.cpp b/engines/titanic/npcs/true_talk_manager.cpp index a9cc829e72..dbf97128a7 100644 --- a/engines/titanic/npcs/true_talk_manager.cpp +++ b/engines/titanic/npcs/true_talk_manager.cpp @@ -24,7 +24,54 @@ namespace Titanic { +int CTrueTalkManager::_v1; +int CTrueTalkManager::_v2; +int CTrueTalkManager::_v3; +bool CTrueTalkManager::_v4; +bool CTrueTalkManager::_v5; +int CTrueTalkManager::_v6; +int CTrueTalkManager::_v7; +bool CTrueTalkManager::_v8; +int CTrueTalkManager::_v9; +bool CTrueTalkManager::_v10; +int CTrueTalkManager::_v11[41]; + CTrueTalkManager::CTrueTalkManager(CGameManager *owner) : _gameManager(owner) { } +void CTrueTalkManager::save(SimpleFile *file) const { + +} + +void CTrueTalkManager::load(SimpleFile *file) { + loadStatics(file); + + int count = file->readNumber(); + //TODO +} + +void CTrueTalkManager::loadStatics(SimpleFile *file) { + int count = file->readNumber(); + _v1 = file->readNumber(); + _v2 = file->readNumber(); + _v3 = file->readNumber(); + _v4 = file->readNumber() != 0; + _v5 = file->readNumber() != 0; + _v6 = file->readNumber(); + _v7 = file->readNumber(); + _v8 = file->readNumber() != 0; + _v9 = file->readNumber(); + _v10 = file->readNumber() != 0; + + for (int idx = count; count > 10; --idx) + file->readNumber(); + + int count2 = file->readNumber(); + for (int idx = 0; idx < count2; ++idx) { + int v = file->readNumber(); + if (idx < 41) + _v11[idx] = v; + } +} + } // End of namespace Titanic diff --git a/engines/titanic/npcs/true_talk_manager.h b/engines/titanic/npcs/true_talk_manager.h index decc593773..d491a61dab 100644 --- a/engines/titanic/npcs/true_talk_manager.h +++ b/engines/titanic/npcs/true_talk_manager.h @@ -23,15 +23,41 @@ #ifndef TITANIC_TRUE_TALK_MANAGER_H #define TITANIC_TRUE_TALK_MANAGER_H +#include "titanic/simple_file.h" + namespace Titanic { class CGameManager; class CTrueTalkManager { +private: + void loadStatics(SimpleFile *file); +public: + static int _v1; + static int _v2; + static int _v3; + static bool _v4; + static bool _v5; + static int _v6; + static int _v7; + static bool _v8; + static int _v9; + static bool _v10; + static int _v11[41]; public: CGameManager *_gameManager; public: CTrueTalkManager(CGameManager *owner); + + /** + * Save the data for the class to file + */ + void save(SimpleFile *file) const; + + /** + * Load the data for the class from file + */ + void load(SimpleFile *file); }; } // End of namespace Titanic |