diff options
Diffstat (limited to 'engines/zvision/scriptManager.h')
| -rw-r--r-- | engines/zvision/scriptManager.h | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/engines/zvision/scriptManager.h b/engines/zvision/scriptManager.h index a6c9f2b57c..7f6cc2547a 100644 --- a/engines/zvision/scriptManager.h +++ b/engines/zvision/scriptManager.h @@ -23,8 +23,13 @@  #ifndef ZVISION_SCRIPT_MANAGER_H  #define ZVISION_SCRIPT_MANAGER_H +#include "common/str.h" +#include "common/stream.h"  #include "common/hashmap.h" +#include "zvision/puzzle.h" +#include "zvision/control.h" +  namespace ZVision {  class ScriptManager { @@ -34,6 +39,63 @@ public:  private:  	Common::HashMap<uint32, byte> _globalState; + +	/** +	 * Parses a script file into triggers and events +	 * +	 * @param fileName		Name of the .scr file +	 */ +	void parseScrFile(Common::String fileName); + +	/** +	 * Helper method for parseScrFile. Parses the stream into a Puzzle object +	 * +	 * @param puzzle	The object to store what is parsed +	 * @param stream	Scr file stream +	 */ +	void parsePuzzle(Puzzle *puzzle, Common::SeekableReadStream &stream); + +	/** +	 * Helper method for parsePuzzle. Parses the stream into a Criteria object +	 * +	 * @param stream	Scr file stream +	 * @return			Created Criteria object +	 */ +	Criteria parseCriteria(Common::SeekableReadStream &stream) const; + +	/** +	 * Helper method for parsePuzzle. Parses the stream into a Results object +	 * +	 * @param stream	Scr file stream +	 * @return			Created Results object +	 */ +	Result parseResult(Common::SeekableReadStream &stream) const; + +	/** +	 * Helper method for parseResults. Parses a number of strings into Object types. +	 * +	 * @param result			Results object to store the arguments in +	 * @param types				The type of the each of the arguments. IE. BOOL, UINT32, etc. +	 * @param numberOfArgs		The number of arguments. This has to equal the length of 'types' AND the number of optional arguments passed. +	 * @param 					String arguments wanting to be parsed +	 */ +	void parseResultArguments(Result &result, const ObjectType *types, int numberOfArgs, ...) const; + +	/** +	 * Helper method for parsePuzzle. Parses the stream into a bitwise or of the StateFlags enum +	 * +	 * @param stream	Scr file stream +	 * @return			Bitwise or of all the flags set within the puzzle +	 */ +	byte parseFlags(Common::SeekableReadStream &stream) const; + +	/** +	 * Helper method for parseScrFile. Parses the stream into a Control object +	 * +	 * @param control	The object to store what is parsed +	 * @param stream	Scr file stream +	 */ +	void parseControl(Control *control, Common::SeekableReadStream &stream);  }; | 
