diff options
author | Travis Howell | 2009-07-25 06:27:41 +0000 |
---|---|---|
committer | Travis Howell | 2009-07-25 06:27:41 +0000 |
commit | c02ad3b7bfe5813c9bd86672ead37110d21d9bb5 (patch) | |
tree | 28640b732810b3f603903ae42eb8fc99450b5f49 /engines/scumm/scumm_v0.h | |
parent | 41ef4938ac8cfcccba4d42c5e474a5a619d9db2b (diff) | |
download | scummvm-rg350-c02ad3b7bfe5813c9bd86672ead37110d21d9bb5.tar.gz scummvm-rg350-c02ad3b7bfe5813c9bd86672ead37110d21d9bb5.tar.bz2 scummvm-rg350-c02ad3b7bfe5813c9bd86672ead37110d21d9bb5.zip |
Add patch #2821100 - MM C64 Objects / Verb fixes, with minor clean up applied.
svn-id: r42737
Diffstat (limited to 'engines/scumm/scumm_v0.h')
-rw-r--r-- | engines/scumm/scumm_v0.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/engines/scumm/scumm_v0.h b/engines/scumm/scumm_v0.h index ccca5df0d3..19260b6429 100644 --- a/engines/scumm/scumm_v0.h +++ b/engines/scumm/scumm_v0.h @@ -35,7 +35,20 @@ namespace Scumm { */ class ScummEngine_v0 : public ScummEngine_v2 { protected: - int _currentMode; + byte _currentMode; + bool _verbExecuting; // is a verb executing + bool _verbPickup; // are we picking up an object during a verb execute + + int _activeActor; // Actor Number + int _activeObject2; // 2nd Object Number + + bool _activeInvExecute; // is activeInventory first to be executed + bool _activeObject2Inv; // is activeobject2 in the inventory + bool _activeObjectObtained; // collected _activeobject? + bool _activeObject2Obtained; // collected _activeObject2? + + int _activeObjectIndex; + int _activeObject2Index; public: ScummEngine_v0(OSystem *syst, const DetectorResult &dr); @@ -53,12 +66,25 @@ protected: virtual void processInput(); + virtual void runObject(int obj, int entry); virtual void saveOrLoad(Serializer *s); + // V0 MM Verb commands + int verbPrep(int object); + bool verbMove(int object, int objectIndex, bool invObject); + bool verbMoveToActor(int actor); + bool verbObtain(int object, int objIndex); + bool verbExecutes(int object, bool inventory = false); + bool verbExec(); + + int findObjectIndex(int x, int y); + virtual void checkExecVerbs(); virtual void handleMouseOver(bool updateInventory); void resetVerbs(); void setNewKidVerbs(); + + void drawSentenceWord(int object, bool usePrep, bool objInInventory); void drawSentence(); void switchActor(int slot); @@ -68,7 +94,7 @@ protected: virtual int getActiveObject(); - virtual void resetSentence(); + virtual void resetSentence(bool walking = false); /* Version C64 script opcodes */ void o_stopCurrentScript(); |