forked from bartvdbraak/blender
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22875:22935
Note, missing r22897, schlaile source/blender/src/hddaudio.c
This commit is contained in:
commit
f12f238062
Binary file not shown.
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 192 KiB |
@ -2716,7 +2716,7 @@ KX_PYMETHODDEF_DOC_VARARGS(KX_GameObject, sendMessage,
|
||||
char* to = (char *)"";
|
||||
const STR_String& from = GetName();
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s|sss:sendMessage", &subject, &body, &to))
|
||||
if (!PyArg_ParseTuple(args, "s|ss:sendMessage", &subject, &body, &to))
|
||||
return NULL;
|
||||
|
||||
scene->GetNetworkScene()->SendMessage(to, from, subject, body);
|
||||
|
@ -132,19 +132,19 @@ PyObject* KX_PolyProxy::py_getattro(PyObject *attr)
|
||||
}
|
||||
if (!strcmp(attr_str, "v1"))
|
||||
{
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffset(0));
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffsetAbs(m_mesh, 0));
|
||||
}
|
||||
if (!strcmp(attr_str, "v2"))
|
||||
{
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffset(1));
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffsetAbs(m_mesh, 1));
|
||||
}
|
||||
if (!strcmp(attr_str, "v3"))
|
||||
{
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffset(2));
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffsetAbs(m_mesh, 2));
|
||||
}
|
||||
if (!strcmp(attr_str, "v4"))
|
||||
{
|
||||
return PyLong_FromSsize_t(((m_polygon->VertexCount()>3)?m_polygon->GetVertexOffset(3):0));
|
||||
return PyLong_FromSsize_t(((m_polygon->VertexCount()>3)?m_polygon->GetVertexOffsetAbs(m_mesh, 3):0));
|
||||
}
|
||||
if (!strcmp(attr_str, "visible"))
|
||||
{
|
||||
@ -244,7 +244,7 @@ KX_PYMETHODDEF_DOC(KX_PolyProxy, getVertexIndex,
|
||||
}
|
||||
if (index < m_polygon->VertexCount())
|
||||
{
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffset(index));
|
||||
return PyLong_FromSsize_t(m_polygon->GetVertexOffsetAbs(m_mesh, index));
|
||||
}
|
||||
return PyLong_FromSsize_t(0);
|
||||
}
|
||||
|
@ -1073,7 +1073,7 @@ void CcdPhysicsController::ApplyTorque(float torqueX,float torqueY,float torque
|
||||
//workaround for incompatibility between 'DYNAMIC' game object, and angular factor
|
||||
//a DYNAMIC object has some inconsistency: it has no angular effect due to collisions, but still has torque
|
||||
const btVector3& angFac = body->getAngularFactor();
|
||||
btVector3 tmpFac(0,0,1);
|
||||
btVector3 tmpFac(1,1,1);
|
||||
body->setAngularFactor(tmpFac);
|
||||
body->applyTorque(torque);
|
||||
body->setAngularFactor(angFac);
|
||||
|
@ -79,8 +79,11 @@ class RAS_DisplayArray
|
||||
public:
|
||||
vector<RAS_TexVert> m_vertex;
|
||||
vector<unsigned short> m_index;
|
||||
/* LINE currently isnt used */
|
||||
enum { LINE = 2, TRIANGLE = 3, QUAD = 4 } m_type;
|
||||
//RAS_MeshSlot *m_origSlot;
|
||||
|
||||
/* Number of RAS_MeshSlot using this array */
|
||||
int m_users;
|
||||
|
||||
enum { BUCKET_MAX_INDEX = 65535 };
|
||||
|
@ -31,6 +31,7 @@
|
||||
#endif
|
||||
|
||||
#include "RAS_Polygon.h"
|
||||
#include "RAS_MeshObject.h" /* only for GetVertexOffsetAbs */
|
||||
|
||||
RAS_Polygon::RAS_Polygon(RAS_MaterialBucket* bucket, RAS_DisplayArray *darray, int numvert)
|
||||
{
|
||||
@ -63,6 +64,20 @@ int RAS_Polygon::GetVertexOffset(int i)
|
||||
return m_offset[i];
|
||||
}
|
||||
|
||||
int RAS_Polygon::GetVertexOffsetAbs(RAS_MeshObject *mesh, int i)
|
||||
{
|
||||
/* hack that only works because there can only ever be 2 different
|
||||
* GetDisplayArray's per mesh. if this uses a different display array to the first
|
||||
* then its incices are offset.
|
||||
* if support for edges is added back this would need to be changed. */
|
||||
RAS_DisplayArray* darray= mesh->GetPolygon(0)->GetDisplayArray();
|
||||
|
||||
if(m_darray != darray)
|
||||
return m_offset[i] + darray->m_vertex.size();
|
||||
|
||||
return m_offset[i];
|
||||
}
|
||||
|
||||
/*
|
||||
int RAS_Polygon::GetEdgeCode()
|
||||
{
|
||||
|
@ -72,6 +72,7 @@ public:
|
||||
|
||||
void SetVertexOffset(int i, unsigned short offset);
|
||||
int GetVertexOffset(int i);
|
||||
int GetVertexOffsetAbs(RAS_MeshObject *mesh, int i); /* accounts for quad and tri arrays, slower, for python */
|
||||
|
||||
// each bit is for a visible edge, starting with bit 1 for the first edge, bit 2 for second etc.
|
||||
// - Not used yet!
|
||||
|
Loading…
Reference in New Issue
Block a user