Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-04-20 01:01:12 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-04-20 01:01:12 +0400
commitf5fc4ebdd8ede5263f4b34f161ebe139d40466dc (patch)
tree7122404f3410c14cd225343cfc97bc0a97441f1e /source/gameengine/VideoTexture/FilterNormal.cpp
parentd78eec93197cc1d3cc9da773ce30396891ec60f6 (diff)
BGE Python API
- More verbose error messages. - BL_Shader wasnt setting error messages on some errors - FilterNormal depth attribute was checking for float which is bad because scripts often expect ints assigned to float attributes. - Added a check to PyVecTo for a tuple rather then always using a generic python sequence. On my system this is over 2x faster with an optmized build.
Diffstat (limited to 'source/gameengine/VideoTexture/FilterNormal.cpp')
-rw-r--r--source/gameengine/VideoTexture/FilterNormal.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/source/gameengine/VideoTexture/FilterNormal.cpp b/source/gameengine/VideoTexture/FilterNormal.cpp
index 03a79c1c8ce..a7266967efb 100644
--- a/source/gameengine/VideoTexture/FilterNormal.cpp
+++ b/source/gameengine/VideoTexture/FilterNormal.cpp
@@ -74,7 +74,7 @@ static int setColor (PyFilter * self, PyObject * value, void * closure)
// check validity of parameter
if (value == NULL || !PyInt_Check(value))
{
- PyErr_SetString(PyExc_TypeError, "The value must be a int");
+ PyErr_SetString(PyExc_TypeError, "filt.colorIdx = int: VideoTexture.FilterNormal, expected the value must be a int");
return -1;
}
// set color index
@@ -94,15 +94,20 @@ static PyObject * getDepth (PyFilter * self, void * closure)
static int setDepth (PyFilter * self, PyObject * value, void * closure)
{
// check validity of parameter
- if (value == NULL || !PyFloat_Check(value))
+ if (value)
{
- PyErr_SetString(PyExc_TypeError, "The value must be a float");
- return -1;
+ float depth= (float)PyFloat_AsDouble(value);
+ if ((depth==-1 && PyErr_Occurred()) == 0) /* no error converting to a float? */
+ {
+ // set depth
+ getFilter(self)->setDepth(depth);
+ // success
+ return 0;
+ }
}
- // set depth
- getFilter(self)->setDepth(float(PyFloat_AsDouble(value)));
- // success
- return 0;
+
+ PyErr_SetString(PyExc_TypeError, "filt.depth = float: VideoTexture.FilterNormal, expected the value must be a float");
+ return -1;
}