diff options
author | James Brown | 2002-03-06 10:03:00 +0000 |
---|---|---|
committer | James Brown | 2002-03-06 10:03:00 +0000 |
commit | 17270d2ccdaa2a0c584b354cbe0efa4a65be1d04 (patch) | |
tree | 161ded9f607a551cdbbb6f8049a72f48efd6ce7b /script.cpp | |
parent | 474c9e333b81280e2c450f07e81eb1cc19ea89b5 (diff) | |
download | scummvm-rg350-17270d2ccdaa2a0c584b354cbe0efa4a65be1d04.tar.gz scummvm-rg350-17270d2ccdaa2a0c584b354cbe0efa4a65be1d04.tar.bz2 scummvm-rg350-17270d2ccdaa2a0c584b354cbe0efa4a65be1d04.zip |
Fixed some more Sam and Max bugs. Is now playable to BumpusVille.
Added two new debug commands, one to read and set variables, the other
to set a 'watch' on variables.
svn-id: r3662
Diffstat (limited to 'script.cpp')
-rw-r--r-- | script.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/script.cpp b/script.cpp index 10bff307e5..1853881f87 100644 --- a/script.cpp +++ b/script.cpp @@ -333,6 +333,9 @@ void Scumm::writeVar(uint var, int value) { if (!(var&0xF000)) { checkRange(_numVariables-1, 0, var, "Variable %d out of range(w)"); _vars[var] = value; + + if ((_varwatch == var) || (_varwatch == 0)) + printf("vars[%d] = %d (via script %d)\n", var, value, &vm.slot[_currentScript].number); return; } @@ -729,12 +732,12 @@ int Scumm::getVerbEntrypoint(int obj, int entry) { void Scumm::push(int a) { - assert(_scummStackPos >=0 && _scummStackPos < ARRAYSIZE(_scummStack)-1); + assert(_scummStackPos >=0 && _scummStackPos <= ARRAYSIZE(_scummStack)-1); _scummStack[_scummStackPos++] = a; } int Scumm::pop() { - assert(_scummStackPos >0 && _scummStackPos < ARRAYSIZE(_scummStack)); + assert(_scummStackPos >0 && _scummStackPos <= ARRAYSIZE(_scummStack)); return _scummStack[--_scummStackPos]; } |