Commit: afce1057fdb3c51819b7126fd3593fe7a2c80b57
Author: Benoit Bolsee
Date: Sat Aug 9 17:19:13 2014 +0200
Branches: master
https://developer.blender.org/rBafce1057fdb3c51819b7126fd3593fe7a2c80b57
BGE: Fix bug with Steering Actuator Python API.
It was not possible to set the navmesh attribute from Python due to a double
bug.
===================================================================
M source/gameengine/Ketsji/KX_GameObject.cpp
M source/gameengine/Ketsji/KX_SteeringActuator.cpp
===================================================================
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp
b/source/gameengine/Ketsji/KX_GameObject.cpp
index 639cd98..c681e08 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -51,6 +51,7 @@ typedef unsigned long uint_ptr;
#include "KX_Light.h" // only for their ::Type
#include "KX_FontObject.h" // only for their ::Type
#include "RAS_MeshObject.h"
+#include "KX_NavMeshObject.h"
#include "KX_MeshProxy.h"
#include "KX_PolyProxy.h"
#include <stdio.h> // printf
@@ -3795,7 +3796,8 @@ bool ConvertPythonToGameObject(PyObject *value,
KX_GameObject **object, bool py_
if ( PyObject_TypeCheck(value, &KX_GameObject::Type) ||
PyObject_TypeCheck(value, &KX_LightObject::Type)
||
PyObject_TypeCheck(value, &KX_Camera::Type)
||
- PyObject_TypeCheck(value, &KX_FontObject::Type))
+ PyObject_TypeCheck(value, &KX_FontObject::Type) ||
+ PyObject_TypeCheck(value, &KX_NavMeshObject::Type))
{
*object = static_cast<KX_GameObject*>BGE_PROXY_REF(value);
diff --git a/source/gameengine/Ketsji/KX_SteeringActuator.cpp
b/source/gameengine/Ketsji/KX_SteeringActuator.cpp
index 2fa72c0..ff19229 100644
--- a/source/gameengine/Ketsji/KX_SteeringActuator.cpp
+++ b/source/gameengine/Ketsji/KX_SteeringActuator.cpp
@@ -602,7 +602,7 @@ int KX_SteeringActuator::pyattr_set_navmesh(void *self,
const struct KX_PYATTRIB
if (!ConvertPythonToGameObject(value, &gameobj, true, "actuator.object
= value: KX_SteeringActuator"))
return PY_SET_ATTR_FAIL; // ConvertPythonToGameObject sets the
error
- if (!PyObject_TypeCheck(value, &KX_NavMeshObject::Type))
+ if (dynamic_cast<KX_NavMeshObject *>(gameobj) == NULL)
{
PyErr_Format(PyExc_TypeError, "KX_NavMeshObject is expected");
return PY_SET_ATTR_FAIL;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs