aboutsummaryrefslogtreecommitdiff
path: root/engines/tony/mpal/expr.h
diff options
context:
space:
mode:
authorStrangerke2012-09-05 03:20:30 -0700
committerStrangerke2012-09-05 03:20:30 -0700
commit5780748b62119988dc219d5c636681766065bd75 (patch)
treeb9a1a11849d6cd956b709ec0e21c820b042edac6 /engines/tony/mpal/expr.h
parent6472ef86bbee92bc02a67d87677dc6b0925a0362 (diff)
parentc737e6429866f18638a6b61103e4e1c7095407e6 (diff)
downloadscummvm-rg350-5780748b62119988dc219d5c636681766065bd75.tar.gz
scummvm-rg350-5780748b62119988dc219d5c636681766065bd75.tar.bz2
scummvm-rg350-5780748b62119988dc219d5c636681766065bd75.zip
Merge pull request #273 from fuzzie/tony
Tony engine (Tony Tough)
Diffstat (limited to 'engines/tony/mpal/expr.h')
-rw-r--r--engines/tony/mpal/expr.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/engines/tony/mpal/expr.h b/engines/tony/mpal/expr.h
new file mode 100644
index 0000000000..9036099993
--- /dev/null
+++ b/engines/tony/mpal/expr.h
@@ -0,0 +1,79 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ *
+ */
+/*
+ * This code is based on original Tony Tough source code
+ *
+ * Copyright (c) 1997-2003 Nayma Software
+ */
+
+#ifndef MPAL_EXPR_H
+#define MPAL_EXPR_H
+
+#include "tony/mpal/memory.h"
+
+namespace Tony {
+
+namespace MPAL {
+
+/****************************************************************************\
+* Function Prototypes
+\****************************************************************************/
+
+/**
+ * Parses a mathematical expression from the MPC file
+ *
+ * @param buf Buffer containing the expression to evaluate
+ * @param h Pointer to a handle that, at the end of execution,
+ * will point to the area of memory containing the parsed expression
+ * @returns Pointer to the buffer immediately after the expression, or NULL if error.
+ */
+const byte *parseExpression(const byte *lpBuf, MpalHandle *h);
+
+/**
+ * Calculate the value of a mathamatical expression
+ *
+ * @param h Handle to the expression
+ * @returns Numeric value
+ */
+int evaluateExpression(MpalHandle h);
+
+/**
+ * Compare two mathematical expressions together
+ *
+ * @param h1 Expression to be compared
+ * @param h2 Expression to be compared
+ */
+bool compareExpressions(MpalHandle h1, MpalHandle h2);
+
+/**
+ * Frees an expression that was previously parsed
+ *
+ * @param h Handle for the expression
+ */
+void freeExpression(MpalHandle h);
+
+} // end of namespace MPAL
+
+} // end of namespace Tony
+
+#endif