diff options
Diffstat (limited to 'engines/parallaction/parallaction.h')
-rw-r--r-- | engines/parallaction/parallaction.h | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index dfc83f04c1..1376692c82 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -33,13 +33,14 @@ #include "engines/engine.h" -#include "parallaction/defs.h" #include "parallaction/inventory.h" #include "parallaction/parser.h" #include "parallaction/objects.h" #include "parallaction/disk.h" #include "parallaction/walk.h" +#define PATH_LEN 200 + extern OSystem *g_system; @@ -200,7 +201,7 @@ struct Character { Parallaction *_vm; - Animation _ani; + AnimationPtr _ani; Frames *_head; Frames *_talk; Frames *_objs; @@ -319,15 +320,15 @@ public: OpcodeSet _commandOpcodes; struct { - Command *cmd; - Zone *z; + CommandPtr cmd; + ZonePtr z; } _cmdRunCtxt; OpcodeSet _instructionOpcodes; struct { - Animation *anim; - Program *program; + AnimationPtr anim; + ProgramPtr program; InstructionList::iterator inst; uint16 modCounter; bool suspend; @@ -340,19 +341,19 @@ public: void resumeJobs(); void finalizeWalk(WalkNodeList *list); - int16 selectWalkFrame(const Common::Point& pos, const WalkNode* from); - void clipMove(Common::Point& pos, const WalkNode* from); + int16 selectWalkFrame(const Common::Point& pos, const WalkNodePtr& from); + void clipMove(Common::Point& pos, const WalkNodePtr& from); - Zone *findZone(const char *name); - Zone *hitZone(uint32 type, uint16 x, uint16 y); - uint16 runZone(Zone*); + ZonePtr findZone(const char *name); + ZonePtr hitZone(uint32 type, uint16 x, uint16 y); + uint16 runZone(ZonePtr& z); void freeZones(); void runDialogue(SpeakData*); - void runCommands(CommandList& list, Zone *z = NULL); + void runCommands(CommandList& list, ZonePtr z = nullZonePtr); - Animation *findAnimation(const char *name); + AnimationPtr &findAnimation(const char *name); void freeAnimations(); void setBackground(const char *background, const char *mask, const char *path); @@ -402,7 +403,7 @@ public: p = _mousePos; } - Zone *_activeZone; + ZonePtr _activeZone; ZoneList _zones; AnimationList _animations; @@ -423,7 +424,7 @@ protected: // data uint16 _event; Common::Point _mousePos; int16 _inventoryIndex; - Zone* _zone; + ZonePtr _zone; Label* _label; }; @@ -446,7 +447,7 @@ protected: // data bool _hasLocationSound; char _locationSound[50]; - Zone *_hoverZone; + ZonePtr _hoverZone; protected: // members @@ -480,7 +481,7 @@ protected: // members void freeCharacter(); - int16 pickupItem(Zone *z); + int16 pickupItem(ZonePtr &z); public: virtual void callFunction(uint index, void* parm) { } @@ -490,7 +491,7 @@ public: virtual void parseLocation(const char* name) = 0; - void updateDoor(Zone *z); + void updateDoor(ZonePtr &z); virtual void runScripts() = 0; virtual void walk() = 0; @@ -676,12 +677,12 @@ protected: const char *filename; Script *script; - Zone *z; - Animation *a; + ZonePtr z; + AnimationPtr a; int nextToken; CommandList *list; bool endcommands; - Command *cmd; + CommandPtr cmd; // BRA specific int numZones; @@ -733,12 +734,12 @@ protected: DECLARE_UNQUALIFIED_COMMAND_PARSER(move); DECLARE_UNQUALIFIED_COMMAND_PARSER(endcommands); - virtual void parseGetData(Script &script, Zone *z); - virtual void parseExamineData(Script &script, Zone *z); - virtual void parseDoorData(Script &script, Zone *z); - virtual void parseMergeData(Script &script, Zone *z); - virtual void parseHearData(Script &script, Zone *z); - virtual void parseSpeakData(Script &script, Zone *z); + virtual void parseGetData(Script &script, ZonePtr& z); + virtual void parseExamineData(Script &script, ZonePtr& z); + virtual void parseDoorData(Script &script, ZonePtr& z); + virtual void parseMergeData(Script &script, ZonePtr& z); + virtual void parseHearData(Script &script, ZonePtr& z); + virtual void parseSpeakData(Script &script, ZonePtr& z); void parseLocation(const char *filename); char *parseComment(Script &script); @@ -749,12 +750,12 @@ protected: Question *parseQuestion(Script &script); void parseZone(Script &script, ZoneList &list, char *name); - void parseZoneTypeBlock(Script &script, Zone *z); + void parseZoneTypeBlock(Script &script, ZonePtr z); void parseWalkNodes(Script& script, WalkNodeList &list); - Animation *parseAnimation(Script &script, AnimationList &list, char *name); + void parseAnimation(Script &script, AnimationList &list, char *name); void parseCommands(Script &script, CommandList&); void parseCommandFlags(); - void saveCommandForward(const char *name, Command* cmd); + void saveCommandForward(const char *name, CommandPtr &cmd); void resolveCommandForwards(); void createCommand(uint id); void addCommand(); @@ -763,7 +764,7 @@ protected: struct CommandForwardReference { char name[20]; - Command* cmd; + CommandPtr cmd; } _forwardedCommands[MAX_FORWARDS]; uint _numForwardedCommands; @@ -773,13 +774,13 @@ protected: struct { bool end; - Animation *a; - Instruction *inst; + AnimationPtr a; + InstructionPtr inst; LocalVariable *locals; - Program *program; + ProgramPtr program; // BRA specific - Instruction *openIf; + InstructionPtr openIf; } _instParseCtxt; DECLARE_UNQUALIFIED_INSTRUCTION_PARSER(defLocal); @@ -798,8 +799,8 @@ protected: DECLARE_UNQUALIFIED_INSTRUCTION_PARSER(null); DECLARE_UNQUALIFIED_INSTRUCTION_PARSER(endscript); - void parseInstruction(Program *program); - void loadProgram(Animation *a, const char *filename); + void parseInstruction(ProgramPtr &program); + void loadProgram(AnimationPtr &a, const char *filename); void parseLValue(ScriptVar &var, const char *str); virtual void parseRValue(ScriptVar &var, const char *str); void wrapLocalVar(LocalVariable *local); @@ -889,7 +890,7 @@ public: int _subtitleY; int _subtitle[2]; - Zone *_activeZone2; + ZonePtr _activeZone2; int32 _counters[32]; |