diff options
author | Benjamin Haisch | 2008-05-13 08:21:28 +0000 |
---|---|---|
committer | Benjamin Haisch | 2008-05-13 08:21:28 +0000 |
commit | 3db45cc0c85967059744a987cc86c01631984a69 (patch) | |
tree | 6cfa5b514a3da05ad67a31ac40a7963ade2f1138 /engines/made/script.cpp | |
parent | f03a27747c73d2c493e81f975e6c2e913268b78c (diff) | |
download | scummvm-rg350-3db45cc0c85967059744a987cc86c01631984a69.tar.gz scummvm-rg350-3db45cc0c85967059744a987cc86c01631984a69.tar.bz2 scummvm-rg350-3db45cc0c85967059744a987cc86c01631984a69.zip |
Implemented savegame saving/loading for LGOP2.
svn-id: r32081
Diffstat (limited to 'engines/made/script.cpp')
-rw-r--r-- | engines/made/script.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/engines/made/script.cpp b/engines/made/script.cpp index 6e896d94be..ad1411281c 100644 --- a/engines/made/script.cpp +++ b/engines/made/script.cpp @@ -476,12 +476,19 @@ void ScriptInterpreter::cmd_yorn() { } void ScriptInterpreter::cmd_save() { - warning("Unimplemented command: cmd_save"); - _stack.setTop(0); + int16 result = 0; + int16 stringOfs = _stack.top(); + const char *filename = _vm->_dat->getString(stringOfs); + result = _vm->_dat->savegame(filename, "", 0); + _stack.setTop(result); } void ScriptInterpreter::cmd_restore() { - warning("Unimplemented command: cmd_restore"); + int16 result = 0; + int16 stringOfs = _stack.top(); + const char *filename = _vm->_dat->getString(stringOfs); + result = _vm->_dat->loadgame(filename, 0); + _stack.setTop(result); } void ScriptInterpreter::cmd_arg() { @@ -594,12 +601,12 @@ void ScriptInterpreter::cmd_extend() { int16 *argv = _stack.getStackPtr(); //debug(4, "func = %d (%s); argc = %d", func, extendFuncNames[func], argc); - debug(4, "func = %d; argc = %d", func, argc); + debug(2, "func = %d; argc = %d", func, argc); for (int i = 0; i < argc; i++) - debug(4, "argv[%02d] = %04X (%d)", i, argv[i], argv[i]); + debug(2, "argv[%02d] = %04X (%d)", i, argv[i], argv[i]); int16 result = _functions->callFunction(func, argc, argv); - debug(4, "result = %04X (%d)", result, result); + debug(2, "result = %04X (%d)", result, result); _stack.free(argc); |