From a37cec2802d96306426f41c64f6ed69ab3680355 Mon Sep 17 00:00:00 2001 From: Benoit Bolsee Date: Wed, 11 Mar 2009 22:11:52 +0000 Subject: BGE patch 18368: Modulus (ie %) expression controller in BGE. Implement a cache for the expression for better performance. --- source/gameengine/Expressions/IntValue.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/gameengine/Expressions/IntValue.cpp') diff --git a/source/gameengine/Expressions/IntValue.cpp b/source/gameengine/Expressions/IntValue.cpp index fbf4f4f59e0..fb586cb4979 100644 --- a/source/gameengine/Expressions/IntValue.cpp +++ b/source/gameengine/Expressions/IntValue.cpp @@ -125,6 +125,9 @@ this object case VALUE_INT_TYPE: { switch (op) { + case VALUE_MOD_OPERATOR: + ret = new CIntValue (((CIntValue *) val)->GetInt() % m_int); + break; case VALUE_ADD_OPERATOR: ret = new CIntValue (((CIntValue *) val)->GetInt() + m_int); break; @@ -181,6 +184,9 @@ this object case VALUE_FLOAT_TYPE: { switch (op) { + case VALUE_MOD_OPERATOR: + ret = new CFloatValue(fmod(((CFloatValue *) val)->GetFloat(), m_int)); + break; case VALUE_ADD_OPERATOR: ret = new CFloatValue (((CFloatValue *) val)->GetFloat() + m_int); break; -- cgit v1.2.3