aboutsummaryrefslogtreecommitdiff
path: root/saga/sfuncs.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-04-23 12:34:35 +0000
committerAndrew Kurushin2005-04-23 12:34:35 +0000
commitedad36ee601c25f15fee2b04124ebdf9fc694f12 (patch)
treed85c29bd2f91ebc4131c87a8e51e2adaf5a5b1ea /saga/sfuncs.cpp
parent40c3fdddc79f6641910f48aa0ed2009b3f71669d (diff)
downloadscummvm-rg350-edad36ee601c25f15fee2b04124ebdf9fc694f12.tar.gz
scummvm-rg350-edad36ee601c25f15fee2b04124ebdf9fc694f12.tar.bz2
scummvm-rg350-edad36ee601c25f15fee2b04124ebdf9fc694f12.zip
fixed sfDropObject implementation
svn-id: r17767
Diffstat (limited to 'saga/sfuncs.cpp')
-rw-r--r--saga/sfuncs.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/saga/sfuncs.cpp b/saga/sfuncs.cpp
index 9a6d6616ab..6b5f1fe1ab 100644
--- a/saga/sfuncs.cpp
+++ b/saga/sfuncs.cpp
@@ -82,7 +82,7 @@ void Script::setupScriptFuncList(void) {
OPCODE(sfSetActorState),
OPCODE(sfScriptMoveTo),
OPCODE(sfSceneEq),
- OPCODE(SF_dropObject),
+ OPCODE(sfDropObject),
OPCODE(sfFinishBgdAnim),
OPCODE(sfSwapActors),
OPCODE(sfSimulSpeech),
@@ -735,28 +735,28 @@ void Script::sfSceneEq(SCRIPTFUNC_PARAMS) {
}
// Script function #32 (0x20)
-void Script::SF_dropObject(SCRIPTFUNC_PARAMS) {
- uint16 obj_param = thread->pop();
- uint16 sprite_param = thread->pop();
- int16 x_param = thread->pop();
- int16 y_param = thread->pop();
+void Script::sfDropObject(SCRIPTFUNC_PARAMS) {
+ uint16 objectId;
+ uint16 spriteId;
+ int16 x;
+ int16 y;
ObjectData *obj;
- int index = obj_param & 0x1FFF;
-
- if (!_vm->_actor->validObjId(_vm->_actor->objIndexToId(index)))
- return;
+ objectId = thread->pop();
+ spriteId = thread->pop();
+ x = thread->pop();
+ y = thread->pop();
- obj = _vm->_actor->getObj(_vm->_actor->objIndexToId(index));
+ obj = _vm->_actor->getObj(objectId);
- if (obj->sceneNumber == -1) {
- _vm->_interface->removeFromInventory(index);
+ if (obj->sceneNumber == ITE_SCENE_INV) {
+ _vm->_interface->removeFromInventory(objectId);
}
obj->sceneNumber = _vm->_scene->currentSceneNumber();
- obj->spriteListResourceId = 9 + sprite_param;
- obj->location.x = x_param;
- obj->location.y = y_param;
+ obj->spriteListResourceId = 9 + spriteId;
+ obj->location.x = x;
+ obj->location.y = y;
}
// Script function #33 (0x21)