aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorrichiesams2013-07-01 17:18:21 -0500
committerrichiesams2013-08-04 13:31:53 -0500
commitb70f85b9a0775212f47c25f5218e63b117d0c696 (patch)
tree9ca2c01c664f267a596fd31538ddc574fde97e2f /engines
parent464cc44a8204134681aadbe68645fd4efe6d04d4 (diff)
downloadscummvm-rg350-b70f85b9a0775212f47c25f5218e63b117d0c696.tar.gz
scummvm-rg350-b70f85b9a0775212f47c25f5218e63b117d0c696.tar.bz2
scummvm-rg350-b70f85b9a0775212f47c25f5218e63b117d0c696.zip
ZVISION: Comment clarification for ScriptManager methods and helper structs
Diffstat (limited to 'engines')
-rw-r--r--engines/zvision/scrFileHandling.cpp4
-rw-r--r--engines/zvision/scriptManager.h63
2 files changed, 35 insertions, 32 deletions
diff --git a/engines/zvision/scrFileHandling.cpp b/engines/zvision/scrFileHandling.cpp
index c511a2e641..61feb12b7e 100644
--- a/engines/zvision/scrFileHandling.cpp
+++ b/engines/zvision/scrFileHandling.cpp
@@ -113,10 +113,10 @@ Criteria ScriptManager::parseCriteria(Common::SeekableReadStream &stream) const
token = tokenizer.nextToken();
if (token.contains('[')) {
sscanf(token.c_str(), "[%u]", &(criteria.argument));
- criteria.argumentIsAnId = true;
+ criteria.isArgumentAnId = true;
} else {
sscanf(token.c_str(), "%u", &(criteria.argument));
- criteria.argumentIsAnId = false;
+ criteria.isArgumentAnId = false;
}
line = stream.readLine();
diff --git a/engines/zvision/scriptManager.h b/engines/zvision/scriptManager.h
index 0bae91945d..563a010de5 100644
--- a/engines/zvision/scriptManager.h
+++ b/engines/zvision/scriptManager.h
@@ -29,17 +29,27 @@
#include "zvision/puzzle.h"
#include "zvision/control.h"
+#include "zvision/singleValueContainer.h"
namespace ZVision {
class ScriptManager {
-public:
- ScriptManager();
- ~ScriptManager();
-
private:
+ /** Holds the global state variables. Optimize for fast random access */
Common::HashMap<uint32, byte> _globalState;
+ /** Holds the currently active puzzles. Optimize for fast iteration */
+ Common::List<Puzzle> _puzzles;
+ /** Holds the currently active controls. Optimize for fast iteration */
+ Common::List<Control> _controls;
+public:
+
+ void initialize();
+ byte getStateValue(uint32 key);
+ void setStateValue(uint32 key, byte value);
+ void addToStateValue(uint32 key, byte valueToAdd);
+
+private:
/**
* Parses a script file into triggers and events
*
@@ -48,54 +58,47 @@ private:
void parseScrFile(Common::String fileName);
/**
- * Helper method for parseScrFile. Parses the stream into a Puzzle object
+ * Parses the stream into a Puzzle object
+ * Helper method for parseScrFile.
*
- * @param puzzle The object to store what is parsed
- * @param stream Scr file stream
+ * @param puzzle The object to store what is parsed
+ * @param stream Scr file stream
*/
- void parsePuzzle(Puzzle *puzzle, Common::SeekableReadStream &stream);
+ void parsePuzzle(Puzzle &puzzle, Common::SeekableReadStream &stream);
/**
- * Helper method for parsePuzzle. Parses the stream into a Criteria object
+ * Parses the stream into a Criteria object
+ * Helper method for parsePuzzle.
*
- * @param stream Scr file stream
- * @return Created 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.
+ * Parses the stream into a Results object
+ * Helper method for parsePuzzle.
*
- * @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
+ * @param stream Scr file stream
+ * @return Created Results object
*/
- void parseResultArguments(Result &result, const ObjectType *types, int numberOfArgs, ...) const;
+ void parseResult(Common::SeekableReadStream &stream, Common::List<ResultAction> &actionList) 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
+ * @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
+ * @param control The object to store what is parsed
+ * @param stream Scr file stream
*/
- void parseControl(Control *control, Common::SeekableReadStream &stream);
+ void parseControl(Control &control, Common::SeekableReadStream &stream);
};