aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.h
diff options
context:
space:
mode:
authorNicola Mettifogo2007-08-25 20:34:10 +0000
committerNicola Mettifogo2007-08-25 20:34:10 +0000
commit39e4a9b180d37f2fef108391d5f04a3c7e3b2ea0 (patch)
treebd7bd96adb2d8df6677d1e25b9e4b98e2851bbad /engines/parallaction/parallaction.h
parent9f8b0884fa2814b04567a86596cdae7953d8eb1e (diff)
downloadscummvm-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.h16
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();