* [gentoo-commits] gentoo-x86 commit in games-sports/vdrift/files: vdrift-20120722-bullet.patch
@ 2014-09-01 1:00 Michael Sterrett (mr_bones_)
0 siblings, 0 replies; only message in thread
From: Michael Sterrett (mr_bones_) @ 2014-09-01 1:00 UTC (permalink / raw
To: gentoo-commits
mr_bones_ 14/09/01 01:00:55
Added: vdrift-20120722-bullet.patch
Log:
add patch from Peter Asplund to allow building against newer versions of sci-physics/bullet
(Portage version: 2.2.8-r1/cvs/Linux x86_64, unsigned Manifest commit)
Revision Changes Path
1.1 games-sports/vdrift/files/vdrift-20120722-bullet.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-sports/vdrift/files/vdrift-20120722-bullet.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-sports/vdrift/files/vdrift-20120722-bullet.patch?rev=1.1&content-type=text/plain
Index: vdrift-20120722-bullet.patch
===================================================================
--- src/cardynamics.cpp Mon Jan 19 23:26:36 1970
+++ src/cardynamics.cpp Mon Jan 19 23:26:36 1970
@@ -1791,23 +1791,29 @@
bool CARDYNAMICS::WheelContactCallback(
btManifoldPoint& cp,
- const btCollisionObject* colObj0,
- int partId0,
+ const btCollisionObjectWrapper* col0,
+ int part0,
int index0,
- const btCollisionObject* colObj1,
- int partId1,
+ const btCollisionObjectWrapper* col1,
+ int part1,
int index1)
{
- // cars are fracture bodies, wheel is a cylinder shape
- const btCollisionShape* shape = colObj0->getCollisionShape();
- if ((colObj0->getInternalType() & CO_FRACTURE_TYPE) &&
+#if (BT_BULLET_VERSION < 281)
+ const btCollisionObject* obj = col0;
+ const btCollisionShape* shape = obj->getCollisionShape();
+ const btCollisionShape* rootshape = obj->getRootCollisionShape();
+#else
+ const btCollisionObject* obj = col0->getCollisionObject();
+ const btCollisionShape* shape = col0->getCollisionShape();
+ const btCollisionShape* rootshape = obj->getCollisionShape();
+#endif
+ if ((obj->getInternalType() & CO_FRACTURE_TYPE) &&
(shape->getShapeType() == CYLINDER_SHAPE_PROXYTYPE))
{
- // is contact within contact patch?
- const btCompoundShape* car = static_cast<const btCompoundShape*>(colObj0->getRootCollisionShape());
- const btCylinderShapeX* wheel = static_cast<const btCylinderShapeX*>(shape);
- btVector3 contactPoint = cp.m_localPointA - car->getChildTransform(cp.m_index0).getOrigin();
- if (-direction::up.dot(contactPoint) > 0.5 * wheel->getRadius())
+ const btCompoundShape* carshape = static_cast<const btCompoundShape*>(rootshape);
+ const btCylinderShapeX* wheelshape = static_cast<const btCylinderShapeX*>(shape);
+ btVector3 contactPoint = cp.m_localPointA - carshape->getChildTransform(cp.m_index0).getOrigin();
+ if (-direction::up.dot(contactPoint) > 0.5 * wheelshape->getRadius())
{
// break contact (hack)
cp.m_normalWorldOnB = btVector3(0, 0, 0);
--- src/cardynamics.h Mon Jan 19 23:26:36 1970
+++ src/cardynamics.h Mon Jan 19 23:26:36 1970
@@ -25,6 +25,12 @@
class FractureBody;
class PTree;
+#if (BT_BULLET_VERSION < 281)
+#define btCollisionObjectWrapper btCollisionObject
+#else
+struct btCollisionObjectWrapper;
+#endif
+
class CARDYNAMICS : public btActionInterface
{
friend class PERFORMANCE_TESTING;
@@ -151,11 +157,11 @@
static bool WheelContactCallback(
btManifoldPoint& cp,
- const btCollisionObject* colObj0,
- int partId0,
+ const btCollisionObjectWrapper* col0,
+ int part0,
int index0,
- const btCollisionObject* colObj1,
- int partId1,
+ const btCollisionObjectWrapper* col1,
+ int part1,
int index1);
protected:
--- src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
+++ src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
@@ -105,7 +105,7 @@
int patch_id = -1;
const BEZIER * b = 0;
const TRACKSURFACE * s = TRACKSURFACE::None();
- btCollisionObject * c = 0;
+ const btCollisionObject * c = 0;
MyRayResultCallback ray(origin, p, caster);
rayTest(origin, p, ray);
@@ -221,6 +221,7 @@
void DynamicsWorld::fractureCallback()
{
+#if (BT_BULLET_VERSION < 281)
m_activeConnections.resize(0);
int numManifolds = getDispatcher()->getNumManifolds();
@@ -268,4 +269,5 @@
btRigidBody* child = body->updateConnection(con_id);
if (child) addRigidBody(child);
}
+#endif
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-09-01 1:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-01 1:00 [gentoo-commits] gentoo-x86 commit in games-sports/vdrift/files: vdrift-20120722-bullet.patch Michael Sterrett (mr_bones_)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox