aboutsummaryrefslogtreecommitdiff
path: root/script.cpp
diff options
context:
space:
mode:
authorJames Brown2002-03-06 10:03:00 +0000
committerJames Brown2002-03-06 10:03:00 +0000
commit17270d2ccdaa2a0c584b354cbe0efa4a65be1d04 (patch)
tree161ded9f607a551cdbbb6f8049a72f48efd6ce7b /script.cpp
parent474c9e333b81280e2c450f07e81eb1cc19ea89b5 (diff)
downloadscummvm-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.cpp7
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];
}