aboutsummaryrefslogtreecommitdiff
path: root/saga/actor.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-01-21 21:55:54 +0000
committerAndrew Kurushin2005-01-21 21:55:54 +0000
commit58ec0f0aadd5228732a3c5915b9a94ec00e9cc53 (patch)
tree28c6ded9c7fd57a8284fa1212f17917900e7e57e /saga/actor.cpp
parent0228f1645f582213ef3e12f19df8e88e61891fbe (diff)
downloadscummvm-rg350-58ec0f0aadd5228732a3c5915b9a94ec00e9cc53.tar.gz
scummvm-rg350-58ec0f0aadd5228732a3c5915b9a94ec00e9cc53.tar.bz2
scummvm-rg350-58ec0f0aadd5228732a3c5915b9a94ec00e9cc53.zip
problems solved:
- Allow more than one script work at once - Proper implementation of address methods some opcodes may be broken - cause work in progress todo: rewrite opcodes with new address functionality svn-id: r16604
Diffstat (limited to 'saga/actor.cpp')
-rw-r--r--saga/actor.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp
index 5130c6c104..2f4e0f33d9 100644
--- a/saga/actor.cpp
+++ b/saga/actor.cpp
@@ -308,7 +308,7 @@ bool Actor::loadActorResources(ActorData *actor) {
framesPointer = (ActorFrameSequence *)malloc(sizeof(ActorFrameSequence) * framesCount);
if (framesPointer == NULL) {
- error("Couldn't allocate memory for sprite frames");
+ memoryError("Actor::loadActorResources");
}
MemoryReadStreamEndian readS(resourcePointer, resourceLength, IS_BIG_ENDIAN);
@@ -394,11 +394,12 @@ void Actor::stepZoneAction(ActorData *actor, const HitZone *hitZone, bool exit,
event.code = SCRIPT_EVENT;
event.op = EVENT_EXEC_NONBLOCKING;
event.time = 0;
- event.param = hitZone->getScriptNumber();
- event.param2 = kVerbEnter; // Action
- event.param3 = ID_NOTHING; // Object
- event.param4 = ID_NOTHING; // With Object
- event.param5 = ID_PROTAG; // Actor
+ event.param = _vm->_scene->getScriptModuleNumber(); // module number
+ event.param2 = hitZone->getScriptNumber(); // script entry point number
+ event.param3 = kVerbEnter; // Action
+ event.param4 = ID_NOTHING; // Object
+ event.param5 = ID_NOTHING; // With Object
+ event.param6 = ID_PROTAG; // Actor
_vm->_events->queue(&event);
}