diff options
author | Nicola Mettifogo | 2007-08-25 20:34:10 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-08-25 20:34:10 +0000 |
commit | 39e4a9b180d37f2fef108391d5f04a3c7e3b2ea0 (patch) | |
tree | bd7bd96adb2d8df6677d1e25b9e4b98e2851bbad /engines/parallaction/parallaction.h | |
parent | 9f8b0884fa2814b04567a86596cdae7953d8eb1e (diff) | |
download | scummvm-rg350-39e4a9b180d37f2fef108391d5f04a3c7e3b2ea0.tar.gz scummvm-rg350-39e4a9b180d37f2fef108391d5f04a3c7e3b2ea0.tar.bz2 scummvm-rg350-39e4a9b180d37f2fef108391d5f04a3c7e3b2ea0.zip |
Added an abstract base class for representing multiple-frames for animations. Changed user code to rely on the new interface. Cnv has been turned into an implementation of the new interface, and it is now known as a concrete class only to Disk and Font code for Nippon Safes.
svn-id: r28734
Diffstat (limited to 'engines/parallaction/parallaction.h')
-rw-r--r-- | engines/parallaction/parallaction.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 1fbdcd6237..4fc9f64537 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -238,8 +238,8 @@ struct Location { struct Character { Animation _ani; Graphics::Surface *_head; - Cnv *_talk; - Cnv *_objs; + Frames *_talk; + Frames *_objs; PathBuilder _builder; Character() : _builder(&_ani) { @@ -381,7 +381,6 @@ public: void changeCursor(int32 index); void showCursor(bool visible); - void changeCharacter(const char *name); Job *addJob(JobFn fn, void *parm, uint16 tag); @@ -501,6 +500,9 @@ protected: // data BackgroundInfo *_backgroundInfo; + Job *_jDrawLabel; + Job *_jEraseLabel; + Zone *_hoverZone; protected: // members bool detectGame(void); @@ -519,7 +521,8 @@ protected: // members void doSaveGame(uint16 slot, const char* name); void doLocationEnterTransition(); - void changeLocation(char *location); + virtual void changeLocation(char *location) = 0; + virtual void changeCharacter(const char *name) = 0; void allocateLocationSlot(const char *name); void finalizeLocationParsing(); void switchBackground(const char* background, const char* mask); @@ -580,6 +583,9 @@ private: void freeFonts(); private: + void changeLocation(char *location); + void changeCharacter(const char *name); + void initResources(); void initCursors(); @@ -833,6 +839,8 @@ private: void initOpcodes(); void initParsers(); + void changeLocation(char *location); + void changeCharacter(const char *name); void initPart(); void freePart(); |