aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm_v0.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/scumm_v0.h')
-rw-r--r--engines/scumm/scumm_v0.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/engines/scumm/scumm_v0.h b/engines/scumm/scumm_v0.h
index d9629948fe..0bb4d1a4a9 100644
--- a/engines/scumm/scumm_v0.h
+++ b/engines/scumm/scumm_v0.h
@@ -33,9 +33,16 @@ namespace Scumm {
class ScummEngine_v0 : public ScummEngine_v2 {
protected:
enum ObjectType {
- kObjectTypeInventory = 0,
- kObjectTypeRoom = 1,
- kObjectTypeActor = 2
+ kObjectTypeFG = 0, // foreground object
+ // - with owner/state, might (but has not to) be pickupable
+ // -> with entry in _objectOwner/StateTable
+ // -> all objects in _inventory have this type
+ // - image can be exchanged (background overlay)
+ kObjectTypeBG = 1, // background object
+ // - without owner/state, not pickupable (room only)
+ // -> without entry in _objectOwner/StateTable
+ // - image cannot be exchanged (part of background image)
+ kObjectTypeActor = 2 // object is an actor
};
protected:
@@ -44,10 +51,10 @@ protected:
bool _verbPickup; // are we picking up an object during a verb execute
int _activeVerb;
- int _activeObject; // 1st Object Number
- int _activeObjectType; // 1st Object Type (0: inventory, 1: room)
- int _activeObject2; // 2nd Object Number
- int _activeObject2Type; // 2nd Object Type (0: inventory, 1: room, 2: actor)
+ int _activeObjectNr; // 1st Object Number
+ int _activeObjectType; // 1st Object Type (0: inventory (or room), 1: room)
+ int _activeObject2Nr; // 2nd Object Number
+ int _activeObject2Type; // 2nd Object Type (0: inventory (or room), 1: room, 2: actor)
bool _activeObjectObtained; // collected _activeobject?
bool _activeObject2Obtained; // collected _activeObject2?
@@ -73,20 +80,20 @@ protected:
virtual void saveOrLoad(Serializer *s);
// V0 MM Verb commands
- int verbPrep();
+ int getVerbPrepId();
+ int activeVerbPrep();
bool verbMove(int object, bool invObject);
bool verbMoveToActor(int actor);
- bool verbObtain(int object, int objType);
+ bool verbObtain(int object);
bool verbExecutes(int object, bool inventory = false);
bool verbExec();
virtual void checkExecVerbs();
virtual void handleMouseOver(bool updateInventory);
+ int verbPrepIdType(int verbid);
void resetVerbs();
void setNewKidVerbs();
- const byte *getObjectName(int object, int type);
-
void drawSentenceObject(int object, int type);
void drawSentence();