[Scummvm-cvs-logs] CVS: scummvm/saga sfuncs.cpp,1.35,1.36
Torbjörn Andersson
eriktorbjorn at users.sourceforge.net
Sun Nov 7 07:15:06 CET 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/saga objectdata.cpp,NONE,1.1 objectdata.h,NONE,1.1 interface.cpp,1.33,1.34 interface.h,1.13,1.14 module.mk,1.17,1.18 resnames.h,1.9,1.10 saga.cpp,1.56,1.57 saga.h,1.43,1.44 sfuncs.cpp,1.34,1.35
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga sfuncs.cpp,1.36,1.37
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12581
Modified Files:
sfuncs.cpp
Log Message:
Unstubbed SF_dropObject(). (Untested)
Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- sfuncs.cpp 7 Nov 2004 14:15:41 -0000 1.35
+++ sfuncs.cpp 7 Nov 2004 15:11:04 -0000 1.36
@@ -158,6 +158,10 @@
SDataWord_T param = thread->pop();
int index = param & 0x1FFF;
+ if (index >= ARRAYSIZE(ObjectTable)) {
+ return FAILURE;
+ }
+
if (ObjectTable[index].sceneIndex != -1) {
ObjectTable[index].sceneIndex = -1;
_vm->_interface->addToInventory(index);
@@ -551,10 +555,26 @@
// Script function #32 (0x20)
int Script::SF_dropObject(SCRIPTFUNC_PARAMS) {
- for (int i = 0; i < nArgs; i++)
- thread->pop();
+ SDataWord_T obj_param = thread->pop();
+ SDataWord_T sprite_param = thread->pop();
+ SDataWord_T x_param = thread->pop();
+ SDataWord_T y_param = thread->pop();
+
+ int index = obj_param & 0x1FFF;
+
+ if (index >= ARRAYSIZE(ObjectTable)) {
+ return FAILURE;
+ }
+
+ if (ObjectTable[index].sceneIndex == -1) {
+ _vm->_interface->removeFromInventory(index);
+ }
+
+ ObjectTable[index].sceneIndex = _vm->_scene->currentSceneNumber();
+ ObjectTable[index].spritelistRn = 9 + sprite_param;
+ ObjectTable[index].x = x_param;
+ ObjectTable[index].y = y_param;
- debug(1, "stub: SF_dropObject(), %d args", nArgs);
return SUCCESS;
}
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/saga objectdata.cpp,NONE,1.1 objectdata.h,NONE,1.1 interface.cpp,1.33,1.34 interface.h,1.13,1.14 module.mk,1.17,1.18 resnames.h,1.9,1.10 saga.cpp,1.56,1.57 saga.h,1.43,1.44 sfuncs.cpp,1.34,1.35
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga sfuncs.cpp,1.36,1.37
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list