[Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.127,1.128 interface.cpp,1.88,1.89 scene.h,1.51,1.52 script.cpp,1.65,1.66 sfuncs.cpp,1.111,1.112
Andrew Kurushin
h00ligan at users.sourceforge.net
Sun May 15 10:46:48 CEST 2005
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29281
Modified Files:
actor.cpp interface.cpp scene.h script.cpp sfuncs.cpp
Log Message:
fixed give verb
fixed occasional verbs redraw
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -d -r1.127 -r1.128
--- actor.cpp 11 May 2005 06:57:44 -0000 1.127
+++ actor.cpp 15 May 2005 17:45:59 -0000 1.128
@@ -1136,7 +1136,7 @@
// FIXME: HACK. This should be turned into cycle event.
_lastTickMsec += msec;
- if (_lastTickMsec > 1000 / 15) { // fixme
+ if (_lastTickMsec > 1000 / 15) { // fixme choose 50 for speed up
_lastTickMsec = 0;
//process actions
handleActions(msec, false);
@@ -1238,7 +1238,7 @@
bool Actor::getSpriteParams(CommonObjectData *commonObjectData, int &frameNumber, SpriteList *&spriteList) {
if (_vm->_scene->currentSceneResourceId() == RID_ITE_OVERMAP_SCENE) {
if (!(commonObjectData->flags & kProtagonist)){
- warning("not protagonist");
+// warning("not protagonist");
return false;
}
frameNumber = 8;
Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -d -r1.88 -r1.89
--- interface.cpp 12 May 2005 15:11:32 -0000 1.88
+++ interface.cpp 15 May 2005 17:45:59 -0000 1.89
@@ -569,21 +569,19 @@
panelButton = _mainPanel.hitTest(mousePoint, kPanelAllButtons);
- if (panelButton != NULL) {
- if (panelButton->type == kPanelButtonArrow) {
- if (panelButton->state == 1) {
- //TODO: insert timeout catchup
- inventoryChangePos(panelButton->id);
- }
- draw();
- }
+ bool changed = false;
- if (panelButton->type == kPanelButtonInventory) {
- _vm->_script->whichObject(mousePoint);
- }
+ if ((panelButton != NULL) && (panelButton->type == kPanelButtonArrow)) {
+ if (panelButton->state == 1) {
+ //TODO: insert timeout catchup
+ inventoryChangePos(panelButton->id);
+ }
+ changed = true;
+ } else {
+ _vm->_script->whichObject(mousePoint);
}
- bool changed = (panelButton != _mainPanel.currentButton);
+ changed = changed || (panelButton != _mainPanel.currentButton);
_mainPanel.currentButton = panelButton;
if (changed) {
draw();
Index: scene.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.h,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- scene.h 8 May 2005 14:04:06 -0000 1.51
+++ scene.h 15 May 2005 17:45:59 -0000 1.52
@@ -262,7 +262,7 @@
int getSceneResourceId(int sceneNumber) {
if ((sceneNumber < 0) || (sceneNumber >= _sceneMax)) {
- error("getSceneResourceId: wrong sceneNumber");
+ error("getSceneResourceId: wrong sceneNumber");
}
return _sceneLUT[sceneNumber];
}
Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/script.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- script.cpp 22 Apr 2005 14:11:02 -0000 1.65
+++ script.cpp 15 May 2005 17:45:59 -0000 1.66
@@ -685,8 +685,7 @@
_leftButtonVerb = _currentVerb;
newRightButtonVerb = kVerbNone;
- if (_vm->_actor->_protagonist->currentAction == kActionWalkDir) {
- } else {
+ if (_vm->_actor->_protagonist->currentAction != kActionWalkDir) {
if (_vm->getSceneHeight() >= mousePoint.y) {
newObjectId = _vm->_actor->hitTest(mousePoint, true);
@@ -755,7 +754,7 @@
newRightButtonVerb = kVerbNone;
}
- if ((_currentVerb == kVerbTalkTo) || ((_currentVerb == kVerbGive) && !_firstObjectSet)) {
+ if ((_currentVerb == kVerbTalkTo) || ((_currentVerb == kVerbGive) && _firstObjectSet)) {
objectId = ID_NOTHING;
newObjectId = ID_NOTHING;
}
@@ -766,7 +765,7 @@
}
}
} else {
- if ((_currentVerb == kVerbTalkTo) || ((_currentVerb == kVerbGive) && !_firstObjectSet)) {
+ if ((_currentVerb == kVerbTalkTo) || ((_currentVerb == kVerbGive) && _firstObjectSet)) {
// no way
} else {
panelButton = _vm->_interface->inventoryHitTest(mousePoint);
Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- sfuncs.cpp 12 May 2005 09:12:15 -0000 1.111
+++ sfuncs.cpp 15 May 2005 17:45:59 -0000 1.112
@@ -195,10 +195,15 @@
// Check if an object is carried.
void Script::sfIsCarried(SCRIPTFUNC_PARAMS) {
uint16 objectId = thread->pop();
- ObjectData *obj;
- obj = _vm->_actor->getObj(objectId);
-
- thread->_returnValue = (obj->sceneNumber == ITE_SCENE_INV) ? 1 : 0;
+ CommonObjectData *object;
+ if (_vm->_actor->validObjId(objectId)) {
+ object = _vm->_actor->getObj(objectId);
+ thread->_returnValue = (object->sceneNumber == ITE_SCENE_INV) ? 1 : 0;
+ } else {
+ thread->_returnValue = 0;
+ }
+
+
}
// Script function #4 (0x04) nonblocking
More information about the Scummvm-git-logs
mailing list