aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/saveload.cpp
diff options
context:
space:
mode:
authorjohndoe1232013-01-08 01:19:52 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:39 +0200
commit30178e46e522c6d741e82e282f3f3edc1fab4825 (patch)
treea40f689a6f72334bcb9e8776291c8f8b63bd1a0e /engines/neverhood/saveload.cpp
parenta35cd088e52eced55d5c0f8253773e9d940b8373 (diff)
downloadscummvm-rg350-30178e46e522c6d741e82e282f3f3edc1fab4825.tar.gz
scummvm-rg350-30178e46e522c6d741e82e282f3f3edc1fab4825.tar.bz2
scummvm-rg350-30178e46e522c6d741e82e282f3f3edc1fab4825.zip
NEVERHOOD: Implement savegame loading via GMM (in-game saving/loading still TODO)
Diffstat (limited to 'engines/neverhood/saveload.cpp')
-rw-r--r--engines/neverhood/saveload.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/neverhood/saveload.cpp b/engines/neverhood/saveload.cpp
index 851943d61f..e1ef95477b 100644
--- a/engines/neverhood/saveload.cpp
+++ b/engines/neverhood/saveload.cpp
@@ -26,6 +26,7 @@
#include "graphics/thumbnail.h"
#include "neverhood/neverhood.h"
+#include "neverhood/gamemodule.h"
#include "neverhood/gamevars.h"
namespace Neverhood {
@@ -91,8 +92,8 @@ void NeverhoodEngine::savegame(const char *filename, const char *description) {
out->writeUint32LE(playTime);
// Header end
- _gameVars->setGlobalVar(0x108A4870, _gameState.sceneNum);
- _gameVars->setGlobalVar(0x82C80875, _gameState.which);
+ _gameVars->setGlobalVar(V_CURRENT_SCENE, _gameState.sceneNum);
+ _gameVars->setGlobalVar(V_CURRENT_SCENE_WHICH, _gameState.which);
_gameVars->saveState(out);
@@ -121,6 +122,11 @@ void NeverhoodEngine::loadgame(const char *filename) {
_gameVars->loadState(in);
+ _gameState.sceneNum = _gameVars->getGlobalVar(V_CURRENT_SCENE);
+ _gameState.which = _gameVars->getGlobalVar(V_CURRENT_SCENE_WHICH);
+
+ _gameModule->restoreGame();
+
delete in;
}