diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-09-30 17:58:21 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-09-30 17:58:21 +0400 |
commit | c3ff4b09be4fd23b1b0d0649938347165cbd5d8e (patch) | |
tree | 14e3812d947f8fffa733e49b96ab6e6772063c42 /source/gameengine/GameLogic | |
parent | 570c187ba1289c2515ee9db499ecf8c18f0d0b72 (diff) |
svn merge https://svn.blender.org/svnroot/bf-blender/branches/blender2.4 -r23566:23567
Diffstat (limited to 'source/gameengine/GameLogic')
-rw-r--r-- | source/gameengine/GameLogic/SCA_PropertySensor.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/gameengine/GameLogic/SCA_PropertySensor.cpp b/source/gameengine/GameLogic/SCA_PropertySensor.cpp index 40c5ac687f6..2a4222af355 100644 --- a/source/gameengine/GameLogic/SCA_PropertySensor.cpp +++ b/source/gameengine/GameLogic/SCA_PropertySensor.cpp @@ -38,6 +38,7 @@ #include "SCA_EventManager.h" #include "SCA_LogicManager.h" #include "BoolValue.h" +#include "FloatValue.h" #ifdef HAVE_CONFIG_H #include <config.h> @@ -190,6 +191,22 @@ bool SCA_PropertySensor::CheckPropertyCondition() m_checkpropval.Upper(); } result = (testprop == m_checkpropval); + + /* Patch: floating point values cant use strings usefully since you can have "0.0" == "0.0000" + * this could be made into a generic Value class function for comparing values with a string. + */ + if(result==false && dynamic_cast<CFloatValue *>(orgprop) != NULL) { + float f; + + if(EOF == sscanf(m_checkpropval.ReadPtr(), "%f", &f)) + { + //error + } + else { + result = (f == ((CFloatValue *)orgprop)->GetFloat()); + } + } + /* end patch */ } orgprop->Release(); |