Remove memory leak in animation manager. Get rid of 1 non-const reference parameter.

svn-id: r44413
This commit is contained in:
Robert Špalek 2009-09-27 18:11:06 +00:00
parent 8b6b3358c8
commit fc2bb50600
4 changed files with 24 additions and 17 deletions

View file

@ -799,7 +799,7 @@ void Script::endCurrentProgram() {
* @param reader Stream reader set to the beginning of the expression
*/
int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
int Script::handleMathExpression(Common::MemoryReadStream *reader) const {
Common::Stack<int> stk;
mathExpressionObject obj;
GPL2Operator oper;
@ -808,7 +808,7 @@ int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
debugC(4, kDraciBytecodeDebugLevel, "\t<MATHEXPR>");
// Read in initial math object
obj = (mathExpressionObject)reader.readSint16LE();
obj = (mathExpressionObject)reader->readSint16LE();
int value;
int arg1, arg2, res;
@ -827,13 +827,13 @@ int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
// If the object type is not known, assume that it's a number
default:
case kMathNumber:
value = reader.readSint16LE();
value = reader->readSint16LE();
stk.push(value);
debugC(4, kDraciBytecodeDebugLevel, "\t\tnumber: %d", value);
break;
case kMathOperator:
value = reader.readSint16LE();
value = reader->readSint16LE();
arg2 = stk.pop();
arg1 = stk.pop();
@ -851,7 +851,7 @@ int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
break;
case kMathVariable:
value = reader.readSint16LE() - 1;
value = reader->readSint16LE() - 1;
stk.push(_vm->_game->getVariable(value));
@ -860,7 +860,7 @@ int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
break;
case kMathFunctionCall:
value = reader.readSint16LE();
value = reader->readSint16LE();
// Fetch function
func = _functionList[value-1];
@ -890,7 +890,7 @@ int Script::handleMathExpression(Common::MemoryReadStream &reader) const {
break;
}
obj = (mathExpressionObject) reader.readSint16LE();
obj = (mathExpressionObject) reader->readSint16LE();
}
return stk.pop();
@ -923,7 +923,7 @@ bool Script::testExpression(const GPL2Program &program, uint16 offset) const {
debugC(4, kDraciBytecodeDebugLevel,
"Evaluating (standalone) GPL expression at offset %d:", offset);
return (bool)handleMathExpression(reader);
return (bool)handleMathExpression(&reader);
}
/**
@ -1053,7 +1053,7 @@ int Script::run(const GPL2Program &program, uint16 offset) {
if (cmd->_paramTypes[i] == 4) {
debugC(3, kDraciBytecodeDebugLevel,
"Evaluating (in-script) GPL expression at offset %d: ", offset);
params.push(handleMathExpression(reader));
params.push(handleMathExpression(&reader));
}
else {
tmp = reader.readSint16LE();