diff options
| -rw-r--r-- | engines/hugo/game.h | 58 | ||||
| -rw-r--r-- | engines/hugo/object.h | 8 | ||||
| -rw-r--r-- | engines/hugo/object_v1d.cpp | 16 | ||||
| -rw-r--r-- | engines/hugo/object_v1w.cpp | 20 | ||||
| -rw-r--r-- | engines/hugo/object_v3d.cpp | 20 | ||||
| -rw-r--r-- | engines/hugo/schedule.cpp | 58 | ||||
| -rw-r--r-- | engines/hugo/schedule_v1d.cpp | 54 | ||||
| -rw-r--r-- | engines/hugo/schedule_v2d.cpp | 78 | 
8 files changed, 156 insertions, 156 deletions
diff --git a/engines/hugo/game.h b/engines/hugo/game.h index 1479bc4fb9..398d0459c0 100644 --- a/engines/hugo/game.h +++ b/engines/hugo/game.h @@ -305,7 +305,7 @@ struct act0 {                                       // Type 0 - Schedule  struct act1 {                                       // Type 1 - Start an object  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      cycleNumb;                             // Number of times to cycle  	cycle_t  cycle;                                 // Direction to start cycling  }; @@ -313,7 +313,7 @@ struct act1 {                                       // Type 1 - Start an object  struct act2 {                                       // Type 2 - Initialise an object coords  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      x, y;                                  // Coordinates  }; @@ -337,21 +337,21 @@ struct act4 {                                       // Type 4 - Set new backgrou  struct act5 {                                       // Type 5 - Initialise an object velocity  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      vx, vy;                                // velocity  };  struct act6 {                                       // Type 6 - Initialise an object carrying  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	bool     carriedFl;                             // carrying  };  struct act7 {                                       // Type 7 - Initialise an object to hero's coords  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  };  struct act8 {                                       // Type 8 - switch to new screen @@ -363,14 +363,14 @@ struct act8 {                                       // Type 8 - switch to new sc  struct act9 {                                       // Type 9 - Initialise an object state  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	byte     newState;                              // New state  };  struct act10 {                                      // Type 10 - Initialise an object path type  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      newPathType;                           // New path type  	int8     vxPath, vyPath;                        // Max delta velocities e.g. for CHASE  }; @@ -378,7 +378,7 @@ struct act10 {                                      // Type 10 - Initialise an o  struct act11 {                                      // Type 11 - Conditional on object's state  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	byte     stateReq;                              // Required state  	uint16   actPassIndex;                          // Ptr to action list if success  	uint16   actFailIndex;                          // Ptr to action list if failure @@ -393,14 +393,14 @@ struct act12 {                                      // Type 12 - Simple text box  struct act13 {                                      // Type 13 - Swap first object image with second  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      obj1;                                  // Index of first object -	int      obj2;                                  // 2nd +	int      objIndex1;                             // Index of first object +	int      objIndex2;                             // 2nd  };  struct act14 {                                      // Type 14 - Conditional on current screen  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The required object +	int      objIndex;                              // The required object  	int      screenReq;                             // The required screen number  	uint16   actPassIndex;                          // Ptr to action list if success  	uint16   actFailIndex;                          // Ptr to action list if failure @@ -409,8 +409,8 @@ struct act14 {                                      // Type 14 - Conditional on  struct act15 {                                      // Type 15 - Home in on an object  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      obj1;                                  // The object number homing in -	int      obj2;                                  // The object number to home in on +	int      objIndex1;                             // The object number homing in +	int      objIndex2;                             // The object number to home in on  	int8     dx, dy;                                // Max delta velocities  };  // Note: Don't set a sequence at time 0 of a new screen, it causes @@ -418,28 +418,28 @@ struct act15 {                                      // Type 15 - Home in on an o  struct act16 {                                      // Type 16 - Set curr_seq_p to seq  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      seqIndex;                              // The index of seq array to set to  };  struct act17 {                                      // Type 17 - SET obj individual state bits  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      stateMask;                             // The mask to OR with current obj state  };  struct act18 {                                      // Type 18 - CLEAR obj individual state bits  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      stateMask;                             // The mask to ~AND with current obj state  };  struct act19 {                                      // Type 19 - TEST obj individual state bits  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      stateMask;                             // The mask to AND with current obj state  	uint16   actPassIndex;                          // Ptr to action list (all bits set)  	uint16   actFailIndex;                          // Ptr to action list (not all set) @@ -459,7 +459,7 @@ struct act21 {                                      // Type 21 - Gameover.  Disa  struct act22 {                                      // Type 22 - Initialise an object to hero's coords  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  };  struct act23 {                                      // Type 23 - Exit game back to DOS @@ -476,7 +476,7 @@ struct act24 {                                      // Type 24 - Get bonus score  struct act25 {                                      // Type 25 - Conditional on bounding box  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The required object number +	int      objIndex;                              // The required object number  	int      x1, y1, x2, y2;                        // The bounding box  	uint16   actPassIndex;                          // Ptr to action list if success  	uint16   actFailIndex;                          // Ptr to action list if failure @@ -491,19 +491,19 @@ struct act26 {                                      // Type 26 - Play a sound  struct act27 {                                      // Type 27 - Add object's value to score  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // object number +	int      objIndex;                              // object number  };  struct act28 {                                      // Type 28 - Subtract object's value from score  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // object number +	int      objIndex;                              // object number  };  struct act29 {                                      // Type 29 - Conditional on object carried  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The required object number +	int      objIndex;                              // The required object number  	uint16   actPassIndex;                          // Ptr to action list if success  	uint16   actFailIndex;                          // Ptr to action list if failure  }; @@ -525,14 +525,14 @@ struct act31 {                                      // Type 31 - Exit special ma  struct act32 {                                      // Type 32 - Init fbg field of object  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	byte     priority;                              // Value of foreground/background field  };  struct act33 {                                      // Type 33 - Init screen field of object  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      screenIndex;                           // Screen number  }; @@ -567,8 +567,8 @@ struct act37 {                                      // Type 37 - Set new screen  struct act38 {                                      // Type 38 - Position lips  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      lipsObjNumb;                           // The LIPS object -	int      objNumb;                               // The object to speak +	int      lipsObjIndex;                          // The LIPS object +	int      objIndex;                              // The object to speak  	byte     dxLips;                                // Relative offset of x  	byte     dyLips;                                // Relative offset of y  }; @@ -596,7 +596,7 @@ struct act41 {                                      // Type 41 - Conditional on  struct act42 {                                      // Type 42 - Text box with "take" string  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object taken +	int      objIndex;                              // The object taken  };  struct act43 {                                      // Type 43 - Prompt user for Yes or No @@ -629,7 +629,7 @@ struct act46 {                                      // Type 46 - Init status.jum  struct act47 {                                      // Type 47 - Init viewx,viewy,dir  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object +	int      objIndex;                              // The object  	int16    viewx;                                 // object.viewx  	int16    viewy;                                 // object.viewy  	int16    direction;                             // object.dir @@ -638,7 +638,7 @@ struct act47 {                                      // Type 47 - Init viewx,view  struct act48 {                                      // Type 48 - Set curr_seq_p to frame n  	action_t actType;                               // The type of action  	int      timer;                                 // Time to set off the action -	int      objNumb;                               // The object number +	int      objIndex;                              // The object number  	int      seqIndex;                              // The index of seq array to set to  	int      frameIndex;                            // The index of frame to set to  }; diff --git a/engines/hugo/object.h b/engines/hugo/object.h index c8e1be7f75..922ae75d27 100644 --- a/engines/hugo/object.h +++ b/engines/hugo/object.h @@ -50,7 +50,7 @@ public:  	virtual void moveObjects() = 0;  	virtual void updateImages() = 0; -	virtual void swapImages(int objNumb1, int objNumb2) = 0; +	virtual void swapImages(int objIndex1, int objIndex2) = 0;  	bool isCarrying(uint16 wordIndex);  	bool findObjectSpace(object_t *obj, int16 *destx, int16 *desty); @@ -105,7 +105,7 @@ public:  	void moveObjects();  	void updateImages(); -	void swapImages(int objNumb1, int objNumb2); +	void swapImages(int objIndex1, int objIndex2);  };  class ObjectHandler_v1w : public ObjectHandler { @@ -115,7 +115,7 @@ public:  	void moveObjects();  	void updateImages(); -	void swapImages(int objNumb1, int objNumb2); +	void swapImages(int objIndex1, int objIndex2);  };  class ObjectHandler_v2d : public ObjectHandler_v1d { @@ -133,7 +133,7 @@ public:  	~ObjectHandler_v3d();  	void moveObjects(); -	void swapImages(int objNumb1, int objNumb2); +	void swapImages(int objIndex1, int objIndex2);  };  } // End of namespace Hugo diff --git a/engines/hugo/object_v1d.cpp b/engines/hugo/object_v1d.cpp index fa0283665c..76b114f354 100644 --- a/engines/hugo/object_v1d.cpp +++ b/engines/hugo/object_v1d.cpp @@ -353,18 +353,18 @@ void ObjectHandler_v1d::moveObjects() {  * the assumption for now that the first obj is always the HERO) to the object  * number of the swapped image  */ -void ObjectHandler_v1d::swapImages(int objNumb1, int objNumb2) { -	debugC(1, kDebugObject, "swapImages(%d, %d)", objNumb1, objNumb2); +void ObjectHandler_v1d::swapImages(int objIndex1, int objIndex2) { +	debugC(1, kDebugObject, "swapImages(%d, %d)", objIndex1, objIndex2);  	seqList_t tmpSeqList[MAX_SEQUENCES];  	int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES; -	memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize); -	memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize); -	memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize); -	_objects[objNumb1].currImagePtr = _objects[objNumb1].seqList[0].seqPtr; -	_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr; -	_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO; +	memmove(tmpSeqList, _objects[objIndex1].seqList, seqListSize); +	memmove(_objects[objIndex1].seqList, _objects[objIndex2].seqList, seqListSize); +	memmove(_objects[objIndex2].seqList, tmpSeqList, seqListSize); +	_objects[objIndex1].currImagePtr = _objects[objIndex1].seqList[0].seqPtr; +	_objects[objIndex2].currImagePtr = _objects[objIndex2].seqList[0].seqPtr; +	_vm->_heroImage = (_vm->_heroImage == HERO) ? objIndex2 : HERO;  }  } // End of namespace Hugo diff --git a/engines/hugo/object_v1w.cpp b/engines/hugo/object_v1w.cpp index 685a3fee23..015c85ea8d 100644 --- a/engines/hugo/object_v1w.cpp +++ b/engines/hugo/object_v1w.cpp @@ -363,23 +363,23 @@ void ObjectHandler_v1w::moveObjects() {  * the assumption for now that the first obj is always the HERO) to the object  * number of the swapped image  */ -void ObjectHandler_v1w::swapImages(int objNumb1, int objNumb2) { -	debugC(1, kDebugObject, "swapImages(%d, %d)", objNumb1, objNumb2); +void ObjectHandler_v1w::swapImages(int objIndex1, int objIndex2) { +	debugC(1, kDebugObject, "swapImages(%d, %d)", objIndex1, objIndex2); -	saveSeq(&_objects[objNumb1]); +	saveSeq(&_objects[objIndex1]);  	seqList_t tmpSeqList[MAX_SEQUENCES];  	int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES; -	memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize); -	memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize); -	memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize); -	restoreSeq(&_objects[objNumb1]); -	_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr; -	_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO; +	memmove(tmpSeqList, _objects[objIndex1].seqList, seqListSize); +	memmove(_objects[objIndex1].seqList, _objects[objIndex2].seqList, seqListSize); +	memmove(_objects[objIndex2].seqList, tmpSeqList, seqListSize); +	restoreSeq(&_objects[objIndex1]); +	_objects[objIndex2].currImagePtr = _objects[objIndex2].seqList[0].seqPtr; +	_vm->_heroImage = (_vm->_heroImage == HERO) ? objIndex2 : HERO;  	// Make sure baseline stays constant -	_objects[objNumb1].y += _objects[objNumb2].currImagePtr->y2 - _objects[objNumb1].currImagePtr->y2; +	_objects[objIndex1].y += _objects[objIndex2].currImagePtr->y2 - _objects[objIndex1].currImagePtr->y2;  }  } // End of namespace Hugo diff --git a/engines/hugo/object_v3d.cpp b/engines/hugo/object_v3d.cpp index 4ca5b6a19e..1954830d81 100644 --- a/engines/hugo/object_v3d.cpp +++ b/engines/hugo/object_v3d.cpp @@ -248,23 +248,23 @@ void ObjectHandler_v3d::moveObjects() {  * the assumption for now that the first obj is always the HERO) to the object  * number of the swapped image  */ -void ObjectHandler_v3d::swapImages(int objNumb1, int objNumb2) { -	debugC(1, kDebugObject, "swapImages(%d, %d)", objNumb1, objNumb2); +void ObjectHandler_v3d::swapImages(int objIndex1, int objIndex2) { +	debugC(1, kDebugObject, "swapImages(%d, %d)", objIndex1, objIndex2); -	saveSeq(&_objects[objNumb1]); +	saveSeq(&_objects[objIndex1]);  	seqList_t tmpSeqList[MAX_SEQUENCES];  	int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES; -	memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize); -	memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize); -	memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize); -	restoreSeq(&_objects[objNumb1]); -	_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr; -	_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO; +	memmove(tmpSeqList, _objects[objIndex1].seqList, seqListSize); +	memmove(_objects[objIndex1].seqList, _objects[objIndex2].seqList, seqListSize); +	memmove(_objects[objIndex2].seqList, tmpSeqList, seqListSize); +	restoreSeq(&_objects[objIndex1]); +	_objects[objIndex2].currImagePtr = _objects[objIndex2].seqList[0].seqPtr; +	_vm->_heroImage = (_vm->_heroImage == HERO) ? objIndex2 : HERO;  	// Make sure baseline stays constant -	_objects[objNumb1].y += _objects[objNumb2].currImagePtr->y2 - _objects[objNumb1].currImagePtr->y2; +	_objects[objIndex1].y += _objects[objIndex2].currImagePtr->y2 - _objects[objIndex1].currImagePtr->y2;  }  } // End of namespace Hugo diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp index 722c5a03cb..361352d95b 100644 --- a/engines/hugo/schedule.cpp +++ b/engines/hugo/schedule.cpp @@ -280,13 +280,13 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case START_OBJ:          // 1  						_actListArr[i][j].a1.timer = in.readSint16BE(); -						_actListArr[i][j].a1.objNumb = in.readSint16BE(); +						_actListArr[i][j].a1.objIndex = in.readSint16BE();  						_actListArr[i][j].a1.cycleNumb = in.readSint16BE();  						_actListArr[i][j].a1.cycle = (cycle_t) in.readByte();  						break;  					case INIT_OBJXY:         // 2  						_actListArr[i][j].a2.timer = in.readSint16BE(); -						_actListArr[i][j].a2.objNumb = in.readSint16BE(); +						_actListArr[i][j].a2.objIndex = in.readSint16BE();  						_actListArr[i][j].a2.x = in.readSint16BE();  						_actListArr[i][j].a2.y = in.readSint16BE();  						break; @@ -307,18 +307,18 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_OBJVXY:        // 5  						_actListArr[i][j].a5.timer = in.readSint16BE(); -						_actListArr[i][j].a5.objNumb = in.readSint16BE(); +						_actListArr[i][j].a5.objIndex = in.readSint16BE();  						_actListArr[i][j].a5.vx = in.readSint16BE();  						_actListArr[i][j].a5.vy = in.readSint16BE();  						break;  					case INIT_CARRY:         // 6  						_actListArr[i][j].a6.timer = in.readSint16BE(); -						_actListArr[i][j].a6.objNumb = in.readSint16BE(); +						_actListArr[i][j].a6.objIndex = in.readSint16BE();  						_actListArr[i][j].a6.carriedFl = (in.readByte() == 1) ? true : false;  						break;  					case INIT_HF_COORD:      // 7  						_actListArr[i][j].a7.timer = in.readSint16BE(); -						_actListArr[i][j].a7.objNumb = in.readSint16BE(); +						_actListArr[i][j].a7.objIndex = in.readSint16BE();  						break;  					case NEW_SCREEN:         // 8  						_actListArr[i][j].a8.timer = in.readSint16BE(); @@ -326,19 +326,19 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_OBJSTATE:      // 9  						_actListArr[i][j].a9.timer = in.readSint16BE(); -						_actListArr[i][j].a9.objNumb = in.readSint16BE(); +						_actListArr[i][j].a9.objIndex = in.readSint16BE();  						_actListArr[i][j].a9.newState = in.readByte();  						break;  					case INIT_PATH:          // 10  						_actListArr[i][j].a10.timer = in.readSint16BE(); -						_actListArr[i][j].a10.objNumb = in.readSint16BE(); +						_actListArr[i][j].a10.objIndex = in.readSint16BE();  						_actListArr[i][j].a10.newPathType = in.readSint16BE();  						_actListArr[i][j].a10.vxPath = in.readByte();  						_actListArr[i][j].a10.vyPath = in.readByte();  						break;  					case COND_R:             // 11  						_actListArr[i][j].a11.timer = in.readSint16BE(); -						_actListArr[i][j].a11.objNumb = in.readSint16BE(); +						_actListArr[i][j].a11.objIndex = in.readSint16BE();  						_actListArr[i][j].a11.stateReq = in.readByte();  						_actListArr[i][j].a11.actPassIndex = in.readUint16BE();  						_actListArr[i][j].a11.actFailIndex = in.readUint16BE(); @@ -349,41 +349,41 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case SWAP_IMAGES:        // 13  						_actListArr[i][j].a13.timer = in.readSint16BE(); -						_actListArr[i][j].a13.obj1 = in.readSint16BE(); -						_actListArr[i][j].a13.obj2 = in.readSint16BE(); +						_actListArr[i][j].a13.objIndex1 = in.readSint16BE(); +						_actListArr[i][j].a13.objIndex2 = in.readSint16BE();  						break;  					case COND_SCR:           // 14  						_actListArr[i][j].a14.timer = in.readSint16BE(); -						_actListArr[i][j].a14.objNumb = in.readSint16BE(); +						_actListArr[i][j].a14.objIndex = in.readSint16BE();  						_actListArr[i][j].a14.screenReq = in.readSint16BE();  						_actListArr[i][j].a14.actPassIndex = in.readUint16BE();  						_actListArr[i][j].a14.actFailIndex = in.readUint16BE();  						break;  					case AUTOPILOT:          // 15  						_actListArr[i][j].a15.timer = in.readSint16BE(); -						_actListArr[i][j].a15.obj1 = in.readSint16BE(); -						_actListArr[i][j].a15.obj2 = in.readSint16BE(); +						_actListArr[i][j].a15.objIndex1 = in.readSint16BE(); +						_actListArr[i][j].a15.objIndex2 = in.readSint16BE();  						_actListArr[i][j].a15.dx = in.readByte();  						_actListArr[i][j].a15.dy = in.readByte();  						break;  					case INIT_OBJ_SEQ:       // 16  						_actListArr[i][j].a16.timer = in.readSint16BE(); -						_actListArr[i][j].a16.objNumb = in.readSint16BE(); +						_actListArr[i][j].a16.objIndex = in.readSint16BE();  						_actListArr[i][j].a16.seqIndex = in.readSint16BE();  						break;  					case SET_STATE_BITS:     // 17  						_actListArr[i][j].a17.timer = in.readSint16BE(); -						_actListArr[i][j].a17.objNumb = in.readSint16BE(); +						_actListArr[i][j].a17.objIndex = in.readSint16BE();  						_actListArr[i][j].a17.stateMask = in.readSint16BE();  						break;  					case CLEAR_STATE_BITS:   // 18  						_actListArr[i][j].a18.timer = in.readSint16BE(); -						_actListArr[i][j].a18.objNumb = in.readSint16BE(); +						_actListArr[i][j].a18.objIndex = in.readSint16BE();  						_actListArr[i][j].a18.stateMask = in.readSint16BE();  						break;  					case TEST_STATE_BITS:    // 19  						_actListArr[i][j].a19.timer = in.readSint16BE(); -						_actListArr[i][j].a19.objNumb = in.readSint16BE(); +						_actListArr[i][j].a19.objIndex = in.readSint16BE();  						_actListArr[i][j].a19.stateMask = in.readSint16BE();  						_actListArr[i][j].a19.actPassIndex = in.readUint16BE();  						_actListArr[i][j].a19.actFailIndex = in.readUint16BE(); @@ -397,7 +397,7 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_HH_COORD:      // 22  						_actListArr[i][j].a22.timer = in.readSint16BE(); -						_actListArr[i][j].a22.objNumb = in.readSint16BE(); +						_actListArr[i][j].a22.objIndex = in.readSint16BE();  						break;  					case EXIT:               // 23  						_actListArr[i][j].a23.timer = in.readSint16BE(); @@ -408,7 +408,7 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case COND_BOX:           // 25  						_actListArr[i][j].a25.timer = in.readSint16BE(); -						_actListArr[i][j].a25.objNumb = in.readSint16BE(); +						_actListArr[i][j].a25.objIndex = in.readSint16BE();  						_actListArr[i][j].a25.x1 = in.readSint16BE();  						_actListArr[i][j].a25.y1 = in.readSint16BE();  						_actListArr[i][j].a25.x2 = in.readSint16BE(); @@ -422,15 +422,15 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case ADD_SCORE:          // 27  						_actListArr[i][j].a27.timer = in.readSint16BE(); -						_actListArr[i][j].a27.objNumb = in.readSint16BE(); +						_actListArr[i][j].a27.objIndex = in.readSint16BE();  						break;  					case SUB_SCORE:          // 28  						_actListArr[i][j].a28.timer = in.readSint16BE(); -						_actListArr[i][j].a28.objNumb = in.readSint16BE(); +						_actListArr[i][j].a28.objIndex = in.readSint16BE();  						break;  					case COND_CARRY:         // 29  						_actListArr[i][j].a29.timer = in.readSint16BE(); -						_actListArr[i][j].a29.objNumb = in.readSint16BE(); +						_actListArr[i][j].a29.objIndex = in.readSint16BE();  						_actListArr[i][j].a29.actPassIndex = in.readUint16BE();  						_actListArr[i][j].a29.actFailIndex = in.readUint16BE();  						break; @@ -450,12 +450,12 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_PRIORITY:      // 32  						_actListArr[i][j].a32.timer = in.readSint16BE(); -						_actListArr[i][j].a32.objNumb = in.readSint16BE(); +						_actListArr[i][j].a32.objIndex = in.readSint16BE();  						_actListArr[i][j].a32.priority = in.readByte();  						break;  					case INIT_SCREEN:        // 33  						_actListArr[i][j].a33.timer = in.readSint16BE(); -						_actListArr[i][j].a33.objNumb = in.readSint16BE(); +						_actListArr[i][j].a33.objIndex = in.readSint16BE();  						_actListArr[i][j].a33.screenIndex = in.readSint16BE();  						break;  					case AGSCHEDULE:         // 34 @@ -480,8 +480,8 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_LIPS:          // 38  						_actListArr[i][j].a38.timer = in.readSint16BE(); -						_actListArr[i][j].a38.lipsObjNumb = in.readSint16BE(); -						_actListArr[i][j].a38.objNumb = in.readSint16BE(); +						_actListArr[i][j].a38.lipsObjIndex = in.readSint16BE(); +						_actListArr[i][j].a38.objIndex = in.readSint16BE();  						_actListArr[i][j].a38.dxLips = in.readByte();  						_actListArr[i][j].a38.dyLips = in.readByte();  						break; @@ -501,7 +501,7 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case TEXT_TAKE:          // 42  						_actListArr[i][j].a42.timer = in.readSint16BE(); -						_actListArr[i][j].a42.objNumb = in.readSint16BE(); +						_actListArr[i][j].a42.objIndex = in.readSint16BE();  						break;  					case YESNO:              // 43  						_actListArr[i][j].a43.timer = in.readSint16BE(); @@ -524,14 +524,14 @@ void Scheduler::loadActListArr(Common::File &in) {  						break;  					case INIT_VIEW:          // 47  						_actListArr[i][j].a47.timer = in.readSint16BE(); -						_actListArr[i][j].a47.objNumb = in.readSint16BE(); +						_actListArr[i][j].a47.objIndex = in.readSint16BE();  						_actListArr[i][j].a47.viewx = in.readSint16BE();  						_actListArr[i][j].a47.viewy = in.readSint16BE();  						_actListArr[i][j].a47.direction = in.readSint16BE();  						break;  					case INIT_OBJ_FRAME:     // 48  						_actListArr[i][j].a48.timer = in.readSint16BE(); -						_actListArr[i][j].a48.objNumb = in.readSint16BE(); +						_actListArr[i][j].a48.objIndex = in.readSint16BE();  						_actListArr[i][j].a48.seqIndex = in.readSint16BE();  						_actListArr[i][j].a48.frameIndex = in.readSint16BE();  						break; diff --git a/engines/hugo/schedule_v1d.cpp b/engines/hugo/schedule_v1d.cpp index f49ce1b238..966085260b 100644 --- a/engines/hugo/schedule_v1d.cpp +++ b/engines/hugo/schedule_v1d.cpp @@ -106,12 +106,12 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  		insertActionList(action->a0.actIndex);  		break;  	case START_OBJ:                                 // act1: Start an object cycling -		_vm->_object->_objects[action->a1.objNumb].cycleNumb = action->a1.cycleNumb; -		_vm->_object->_objects[action->a1.objNumb].cycling = action->a1.cycle; +		_vm->_object->_objects[action->a1.objIndex].cycleNumb = action->a1.cycleNumb; +		_vm->_object->_objects[action->a1.objIndex].cycling = action->a1.cycle;  		break;  	case INIT_OBJXY:                                // act2: Initialise an object -		_vm->_object->_objects[action->a2.objNumb].x = action->a2.x;          // Coordinates -		_vm->_object->_objects[action->a2.objNumb].y = action->a2.y; +		_vm->_object->_objects[action->a2.objIndex].x = action->a2.x;          // Coordinates +		_vm->_object->_objects[action->a2.objIndex].y = action->a2.y;  		break;  	case PROMPT: {                                  // act3: Prompt user for key phrase  		response = Utils::Box(BOX_PROMPT, "%s", _vm->_file->fetchString(action->a3.promptIndex)); @@ -137,27 +137,27 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  		_vm->_screen->setBackgroundColor(action->a4.newBackgroundColor);  		break;  	case INIT_OBJVXY:                               // act5: Initialise an object velocity -		_vm->_object->setVelocity(action->a5.objNumb, action->a5.vx, action->a5.vy); +		_vm->_object->setVelocity(action->a5.objIndex, action->a5.vx, action->a5.vy);  		break;  	case INIT_CARRY:                                // act6: Initialise an object -		_vm->_object->setCarry(action->a6.objNumb, action->a6.carriedFl);  // carried status +		_vm->_object->setCarry(action->a6.objIndex, action->a6.carriedFl);  // carried status  		break;  	case INIT_HF_COORD:                             // act7: Initialise an object to hero's "feet" coords -		_vm->_object->_objects[action->a7.objNumb].x = _vm->_hero->x - 1; -		_vm->_object->_objects[action->a7.objNumb].y = _vm->_hero->y + _vm->_hero->currImagePtr->y2 - 1; -		_vm->_object->_objects[action->a7.objNumb].screenIndex = *_vm->_screen_p;  // Don't forget screen! +		_vm->_object->_objects[action->a7.objIndex].x = _vm->_hero->x - 1; +		_vm->_object->_objects[action->a7.objIndex].y = _vm->_hero->y + _vm->_hero->currImagePtr->y2 - 1; +		_vm->_object->_objects[action->a7.objIndex].screenIndex = *_vm->_screen_p;  // Don't forget screen!  		break;  	case NEW_SCREEN:                                // act8: Start new screen  		newScreen(action->a8.screenIndex);  		break;  	case INIT_OBJSTATE:                             // act9: Initialise an object state -		_vm->_object->_objects[action->a9.objNumb].state = action->a9.newState; +		_vm->_object->_objects[action->a9.objIndex].state = action->a9.newState;  		break;  	case INIT_PATH:                                 // act10: Initialise an object path and velocity -		_vm->_object->setPath(action->a10.objNumb, (path_t) action->a10.newPathType, action->a10.vxPath, action->a10.vyPath); +		_vm->_object->setPath(action->a10.objIndex, (path_t) action->a10.newPathType, action->a10.vxPath, action->a10.vyPath);  		break;  	case COND_R:                                    // act11: action lists conditional on object state -		if (_vm->_object->_objects[action->a11.objNumb].state == action->a11.stateReq) +		if (_vm->_object->_objects[action->a11.objIndex].state == action->a11.stateReq)  			insertActionList(action->a11.actPassIndex);  		else  			insertActionList(action->a11.actFailIndex); @@ -166,18 +166,18 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  		Utils::Box(BOX_ANY, "%s", _vm->_file->fetchString(action->a12.stringIndex));   // Fetch string from file  		break;  	case SWAP_IMAGES:                               // act13: Swap 2 object images -		_vm->_object->swapImages(action->a13.obj1, action->a13.obj2); +		_vm->_object->swapImages(action->a13.objIndex1, action->a13.objIndex2);  		break;  	case COND_SCR:                                  // act14: Conditional on current screen -		if (_vm->_object->_objects[action->a14.objNumb].screenIndex == action->a14.screenReq) +		if (_vm->_object->_objects[action->a14.objIndex].screenIndex == action->a14.screenReq)  			insertActionList(action->a14.actPassIndex);  		else  			insertActionList(action->a14.actFailIndex);  		break;  	case AUTOPILOT:                                 // act15: Home in on a (stationary) object  		// object p1 will home in on object p2 -		obj1 = &_vm->_object->_objects[action->a15.obj1]; -		obj2 = &_vm->_object->_objects[action->a15.obj2]; +		obj1 = &_vm->_object->_objects[action->a15.objIndex1]; +		obj2 = &_vm->_object->_objects[action->a15.objIndex2];  		obj1->pathType = AUTO;  		dx = obj1->x + obj1->currImagePtr->x1 - obj2->x - obj2->currImagePtr->x1;  		dy = obj1->y + obj1->currImagePtr->y1 - obj2->y - obj2->currImagePtr->y1; @@ -198,16 +198,16 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  	case INIT_OBJ_SEQ:                              // act16: Set sequence number to use  		// Note: Don't set a sequence at time 0 of a new screen, it causes  		// problems clearing the boundary bits of the object!  t>0 is safe -		_vm->_object->_objects[action->a16.objNumb].currImagePtr = _vm->_object->_objects[action->a16.objNumb].seqList[action->a16.seqIndex].seqPtr; +		_vm->_object->_objects[action->a16.objIndex].currImagePtr = _vm->_object->_objects[action->a16.objIndex].seqList[action->a16.seqIndex].seqPtr;  		break;  	case SET_STATE_BITS:                            // act17: OR mask with curr obj state -		_vm->_object->_objects[action->a17.objNumb].state |= action->a17.stateMask; +		_vm->_object->_objects[action->a17.objIndex].state |= action->a17.stateMask;  		break;  	case CLEAR_STATE_BITS:                          // act18: AND ~mask with curr obj state -		_vm->_object->_objects[action->a18.objNumb].state &= ~action->a18.stateMask; +		_vm->_object->_objects[action->a18.objIndex].state &= ~action->a18.stateMask;  		break;  	case TEST_STATE_BITS:                           // act19: If all bits set, do apass else afail -		if ((_vm->_object->_objects[action->a19.objNumb].state & action->a19.stateMask) == action->a19.stateMask) +		if ((_vm->_object->_objects[action->a19.objIndex].state & action->a19.stateMask) == action->a19.stateMask)  			insertActionList(action->a19.actPassIndex);  		else  			insertActionList(action->a19.actFailIndex); @@ -227,9 +227,9 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  		gameStatus.gameOverFl = true;  		break;  	case INIT_HH_COORD:                             // act22: Initialise an object to hero's actual coords -		_vm->_object->_objects[action->a22.objNumb].x = _vm->_hero->x; -		_vm->_object->_objects[action->a22.objNumb].y = _vm->_hero->y; -		_vm->_object->_objects[action->a22.objNumb].screenIndex = *_vm->_screen_p;// Don't forget screen! +		_vm->_object->_objects[action->a22.objIndex].x = _vm->_hero->x; +		_vm->_object->_objects[action->a22.objIndex].y = _vm->_hero->y; +		_vm->_object->_objects[action->a22.objIndex].screenIndex = *_vm->_screen_p;// Don't forget screen!  		break;  	case EXIT:                                      // act23: Exit game back to DOS  		_vm->endGame(); @@ -238,7 +238,7 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  		processBonus(action->a24.pointIndex);  		break;  	case COND_BOX:                                  // act25: Conditional on bounding box -		obj1 = &_vm->_object->_objects[action->a25.objNumb]; +		obj1 = &_vm->_object->_objects[action->a25.objIndex];  		dx = obj1->x + obj1->currImagePtr->x1;  		dy = obj1->y + obj1->currImagePtr->y2;  		if ((dx >= action->a25.x1) && (dx <= action->a25.x2) && @@ -248,13 +248,13 @@ event_t *Scheduler_v1d::doAction(event_t *curEvent) {  			insertActionList(action->a25.actFailIndex);  		break;  	case ADD_SCORE:                                 // act27: Add object's value to score -		_vm->adjustScore(_vm->_object->_objects[action->a27.objNumb].objValue); +		_vm->adjustScore(_vm->_object->_objects[action->a27.objIndex].objValue);  		break;  	case SUB_SCORE:                                 // act28: Subtract object's value from score -		_vm->adjustScore(-_vm->_object->_objects[action->a28.objNumb].objValue); +		_vm->adjustScore(-_vm->_object->_objects[action->a28.objIndex].objValue);  		break;  	case COND_CARRY:                                // act29: Conditional on object being carried -		if (_vm->_object->isCarried(action->a29.objNumb)) +		if (_vm->_object->isCarried(action->a29.objIndex))  			insertActionList(action->a29.actPassIndex);  		else  			insertActionList(action->a29.actFailIndex); diff --git a/engines/hugo/schedule_v2d.cpp b/engines/hugo/schedule_v2d.cpp index 8764826e52..191b33ed4a 100644 --- a/engines/hugo/schedule_v2d.cpp +++ b/engines/hugo/schedule_v2d.cpp @@ -114,12 +114,12 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		insertActionList(action->a0.actIndex);  		break;  	case START_OBJ:                                 // act1: Start an object cycling -		_vm->_object->_objects[action->a1.objNumb].cycleNumb = action->a1.cycleNumb; -		_vm->_object->_objects[action->a1.objNumb].cycling = action->a1.cycle; +		_vm->_object->_objects[action->a1.objIndex].cycleNumb = action->a1.cycleNumb; +		_vm->_object->_objects[action->a1.objIndex].cycling = action->a1.cycle;  		break;  	case INIT_OBJXY:                                // act2: Initialise an object -		_vm->_object->_objects[action->a2.objNumb].x = action->a2.x;          // Coordinates -		_vm->_object->_objects[action->a2.objNumb].y = action->a2.y; +		_vm->_object->_objects[action->a2.objIndex].x = action->a2.x;          // Coordinates +		_vm->_object->_objects[action->a2.objIndex].y = action->a2.y;  		break;  	case PROMPT: {                                  // act3: Prompt user for key phrase  		response = Utils::Box(BOX_PROMPT, "%s", _vm->_file->fetchString(action->a3.promptIndex)); @@ -151,27 +151,27 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		_vm->_screen->setBackgroundColor(action->a4.newBackgroundColor);  		break;  	case INIT_OBJVXY:                               // act5: Initialise an object velocity -		_vm->_object->setVelocity(action->a5.objNumb, action->a5.vx, action->a5.vy); +		_vm->_object->setVelocity(action->a5.objIndex, action->a5.vx, action->a5.vy);  		break;  	case INIT_CARRY:                                // act6: Initialise an object -		_vm->_object->setCarry(action->a6.objNumb, action->a6.carriedFl);  // carried status +		_vm->_object->setCarry(action->a6.objIndex, action->a6.carriedFl);  // carried status  		break;  	case INIT_HF_COORD:                             // act7: Initialise an object to hero's "feet" coords -		_vm->_object->_objects[action->a7.objNumb].x = _vm->_hero->x - 1; -		_vm->_object->_objects[action->a7.objNumb].y = _vm->_hero->y + _vm->_hero->currImagePtr->y2 - 1; -		_vm->_object->_objects[action->a7.objNumb].screenIndex = *_vm->_screen_p;  // Don't forget screen! +		_vm->_object->_objects[action->a7.objIndex].x = _vm->_hero->x - 1; +		_vm->_object->_objects[action->a7.objIndex].y = _vm->_hero->y + _vm->_hero->currImagePtr->y2 - 1; +		_vm->_object->_objects[action->a7.objIndex].screenIndex = *_vm->_screen_p;  // Don't forget screen!  		break;  	case NEW_SCREEN:                                // act8: Start new screen  		newScreen(action->a8.screenIndex);  		break;  	case INIT_OBJSTATE:                             // act9: Initialise an object state -		_vm->_object->_objects[action->a9.objNumb].state = action->a9.newState; +		_vm->_object->_objects[action->a9.objIndex].state = action->a9.newState;  		break;  	case INIT_PATH:                                 // act10: Initialise an object path and velocity -		_vm->_object->setPath(action->a10.objNumb, (path_t) action->a10.newPathType, action->a10.vxPath, action->a10.vyPath); +		_vm->_object->setPath(action->a10.objIndex, (path_t) action->a10.newPathType, action->a10.vxPath, action->a10.vyPath);  		break;  	case COND_R:                                    // act11: action lists conditional on object state -		if (_vm->_object->_objects[action->a11.objNumb].state == action->a11.stateReq) +		if (_vm->_object->_objects[action->a11.objIndex].state == action->a11.stateReq)  			insertActionList(action->a11.actPassIndex);  		else  			insertActionList(action->a11.actFailIndex); @@ -180,18 +180,18 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		Utils::Box(BOX_ANY, "%s", _vm->_file->fetchString(action->a12.stringIndex));   // Fetch string from file  		break;  	case SWAP_IMAGES:                               // act13: Swap 2 object images -		_vm->_object->swapImages(action->a13.obj1, action->a13.obj2); +		_vm->_object->swapImages(action->a13.objIndex1, action->a13.objIndex2);  		break;  	case COND_SCR:                                  // act14: Conditional on current screen -		if (_vm->_object->_objects[action->a14.objNumb].screenIndex == action->a14.screenReq) +		if (_vm->_object->_objects[action->a14.objIndex].screenIndex == action->a14.screenReq)  			insertActionList(action->a14.actPassIndex);  		else  			insertActionList(action->a14.actFailIndex);  		break;  	case AUTOPILOT:                                 // act15: Home in on a (stationary) object  		// object p1 will home in on object p2 -		obj1 = &_vm->_object->_objects[action->a15.obj1]; -		obj2 = &_vm->_object->_objects[action->a15.obj2]; +		obj1 = &_vm->_object->_objects[action->a15.objIndex1]; +		obj2 = &_vm->_object->_objects[action->a15.objIndex2];  		obj1->pathType = AUTO;  		dx = obj1->x + obj1->currImagePtr->x1 - obj2->x - obj2->currImagePtr->x1;  		dy = obj1->y + obj1->currImagePtr->y1 - obj2->y - obj2->currImagePtr->y1; @@ -212,16 +212,16 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  	case INIT_OBJ_SEQ:                              // act16: Set sequence number to use  		// Note: Don't set a sequence at time 0 of a new screen, it causes  		// problems clearing the boundary bits of the object!  t>0 is safe -		_vm->_object->_objects[action->a16.objNumb].currImagePtr = _vm->_object->_objects[action->a16.objNumb].seqList[action->a16.seqIndex].seqPtr; +		_vm->_object->_objects[action->a16.objIndex].currImagePtr = _vm->_object->_objects[action->a16.objIndex].seqList[action->a16.seqIndex].seqPtr;  		break;  	case SET_STATE_BITS:                            // act17: OR mask with curr obj state -		_vm->_object->_objects[action->a17.objNumb].state |= action->a17.stateMask; +		_vm->_object->_objects[action->a17.objIndex].state |= action->a17.stateMask;  		break;  	case CLEAR_STATE_BITS:                          // act18: AND ~mask with curr obj state -		_vm->_object->_objects[action->a18.objNumb].state &= ~action->a18.stateMask; +		_vm->_object->_objects[action->a18.objIndex].state &= ~action->a18.stateMask;  		break;  	case TEST_STATE_BITS:                           // act19: If all bits set, do apass else afail -		if ((_vm->_object->_objects[action->a19.objNumb].state & action->a19.stateMask) == action->a19.stateMask) +		if ((_vm->_object->_objects[action->a19.objIndex].state & action->a19.stateMask) == action->a19.stateMask)  			insertActionList(action->a19.actPassIndex);  		else  			insertActionList(action->a19.actFailIndex); @@ -242,9 +242,9 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		gameStatus.gameOverFl = true;  		break;  	case INIT_HH_COORD:                             // act22: Initialise an object to hero's actual coords -		_vm->_object->_objects[action->a22.objNumb].x = _vm->_hero->x; -		_vm->_object->_objects[action->a22.objNumb].y = _vm->_hero->y; -		_vm->_object->_objects[action->a22.objNumb].screenIndex = *_vm->_screen_p;// Don't forget screen! +		_vm->_object->_objects[action->a22.objIndex].x = _vm->_hero->x; +		_vm->_object->_objects[action->a22.objIndex].y = _vm->_hero->y; +		_vm->_object->_objects[action->a22.objIndex].screenIndex = *_vm->_screen_p;// Don't forget screen!  		break;  	case EXIT:                                      // act23: Exit game back to DOS  		_vm->endGame(); @@ -253,7 +253,7 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		processBonus(action->a24.pointIndex);  		break;  	case COND_BOX:                                  // act25: Conditional on bounding box -		obj1 = &_vm->_object->_objects[action->a25.objNumb]; +		obj1 = &_vm->_object->_objects[action->a25.objIndex];  		dx = obj1->x + obj1->currImagePtr->x1;  		dy = obj1->y + obj1->currImagePtr->y2;  		if ((dx >= action->a25.x1) && (dx <= action->a25.x2) && @@ -269,13 +269,13 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  			_vm->_sound->playSound(action->a26.soundIndex, BOTH_CHANNELS, MED_PRI);  		break;  	case ADD_SCORE:                                 // act27: Add object's value to score -		_vm->adjustScore(_vm->_object->_objects[action->a27.objNumb].objValue); +		_vm->adjustScore(_vm->_object->_objects[action->a27.objIndex].objValue);  		break;  	case SUB_SCORE:                                 // act28: Subtract object's value from score -		_vm->adjustScore(-_vm->_object->_objects[action->a28.objNumb].objValue); +		_vm->adjustScore(-_vm->_object->_objects[action->a28.objIndex].objValue);  		break;  	case COND_CARRY:                                // act29: Conditional on object being carried -		if (_vm->_object->isCarried(action->a29.objNumb)) +		if (_vm->_object->isCarried(action->a29.objIndex))  			insertActionList(action->a29.actPassIndex);  		else  			insertActionList(action->a29.actFailIndex); @@ -295,10 +295,10 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		_maze.enabledFl = false;  		break;  	case INIT_PRIORITY: -		_vm->_object->_objects[action->a32.objNumb].priority = action->a32.priority; +		_vm->_object->_objects[action->a32.objIndex].priority = action->a32.priority;  		break;  	case INIT_SCREEN: -		_vm->_object->_objects[action->a33.objNumb].screenIndex = action->a33.screenIndex; +		_vm->_object->_objects[action->a33.objIndex].screenIndex = action->a33.screenIndex;  		break;  	case AGSCHEDULE:                                // act34: Schedule a (global) action list  		insertActionList(action->a34.actIndex); @@ -316,10 +316,10 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		_vm->_screenStates[action->a37.screenIndex] = action->a37.newState;  		break;  	case INIT_LIPS:                                 // act38: Position lips on object -		_vm->_object->_objects[action->a38.lipsObjNumb].x = _vm->_object->_objects[action->a38.objNumb].x + action->a38.dxLips; -		_vm->_object->_objects[action->a38.lipsObjNumb].y = _vm->_object->_objects[action->a38.objNumb].y + action->a38.dyLips; -		_vm->_object->_objects[action->a38.lipsObjNumb].screenIndex = *_vm->_screen_p; // Don't forget screen! -		_vm->_object->_objects[action->a38.lipsObjNumb].cycling = CYCLE_FORWARD; +		_vm->_object->_objects[action->a38.lipsObjIndex].x = _vm->_object->_objects[action->a38.objIndex].x + action->a38.dxLips; +		_vm->_object->_objects[action->a38.lipsObjIndex].y = _vm->_object->_objects[action->a38.objIndex].y + action->a38.dyLips; +		_vm->_object->_objects[action->a38.lipsObjIndex].screenIndex = *_vm->_screen_p; // Don't forget screen! +		_vm->_object->_objects[action->a38.lipsObjIndex].cycling = CYCLE_FORWARD;  		break;  	case INIT_STORY_MODE:                           // act39: Init story_mode flag  		// This is similar to the QUIET path mode, except that it is @@ -340,7 +340,7 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  			insertActionList(action->a41.actFailIndex);  		break;  	case TEXT_TAKE:                                 // act42: Text box with "take" message -		Utils::Box(BOX_ANY, TAKE_TEXT, _vm->_arrayNouns[_vm->_object->_objects[action->a42.objNumb].nounIndex][TAKE_NAME]); +		Utils::Box(BOX_ANY, TAKE_TEXT, _vm->_arrayNouns[_vm->_object->_objects[action->a42.objIndex].nounIndex][TAKE_NAME]);  		break;  	case YESNO:                                     // act43: Prompt user for Yes or No  		if (Utils::Box(BOX_YESNO, "%s", _vm->_file->fetchString(action->a43.promptIndex)) != 0) @@ -364,16 +364,16 @@ event_t *Scheduler_v2d::doAction(event_t *curEvent) {  		gameStatus.jumpExitFl = action->a46.jumpExitFl;  		break;  	case INIT_VIEW:                                 // act47: Init object.viewx, viewy, dir -		_vm->_object->_objects[action->a47.objNumb].viewx = action->a47.viewx; -		_vm->_object->_objects[action->a47.objNumb].viewy = action->a47.viewy; -		_vm->_object->_objects[action->a47.objNumb].direction = action->a47.direction; +		_vm->_object->_objects[action->a47.objIndex].viewx = action->a47.viewx; +		_vm->_object->_objects[action->a47.objIndex].viewy = action->a47.viewy; +		_vm->_object->_objects[action->a47.objIndex].direction = action->a47.direction;  		break;  	case INIT_OBJ_FRAME:                            // act48: Set seq,frame number to use  		// Note: Don't set a sequence at time 0 of a new screen, it causes  		// problems clearing the boundary bits of the object!  t>0 is safe -		_vm->_object->_objects[action->a48.objNumb].currImagePtr = _vm->_object->_objects[action->a48.objNumb].seqList[action->a48.seqIndex].seqPtr; +		_vm->_object->_objects[action->a48.objIndex].currImagePtr = _vm->_object->_objects[action->a48.objIndex].seqList[action->a48.seqIndex].seqPtr;  		for (dx = 0; dx < action->a48.frameIndex; dx++) -			_vm->_object->_objects[action->a48.objNumb].currImagePtr = _vm->_object->_objects[action->a48.objNumb].currImagePtr->nextSeqPtr; +			_vm->_object->_objects[action->a48.objIndex].currImagePtr = _vm->_object->_objects[action->a48.objIndex].currImagePtr->nextSeqPtr;  		break;  	case OLD_SONG:  		// Replaces ACT26 for DOS games.  | 
