From 1b74b34cceb14be2eaa65478452e618df60150a7 Mon Sep 17 00:00:00 2001 From: Garrett Brown Date: Sat, 17 Oct 2020 22:30:01 -0400 Subject: [PATCH] Update userdata stuff to how new box2d wants it --- src/libraries/box2d/b2_body.h | 7 +------ src/libraries/box2d/b2_fixture.h | 8 -------- src/libraries/box2d/b2_joint.h | 8 -------- src/libraries/box2d/b2_settings.h | 15 --------------- src/modules/physics/box2d/Body.cpp | 4 ++-- src/modules/physics/box2d/Fixture.cpp | 4 ++-- src/modules/physics/box2d/Joint.cpp | 4 ++-- 7 files changed, 7 insertions(+), 43 deletions(-) diff --git a/src/libraries/box2d/b2_body.h b/src/libraries/box2d/b2_body.h index 565f23898..f1038202b 100644 --- a/src/libraries/box2d/b2_body.h +++ b/src/libraries/box2d/b2_body.h @@ -379,7 +379,7 @@ public: b2BodyUserData& GetUserData(); /// Set the user data. Use this to store your application specific data. - void SetUserData(b2BodyUserData& data); + void SetUserData(void* data); /// Get the parent world of this body. b2World* GetWorld(); @@ -736,11 +736,6 @@ inline b2BodyUserData& b2Body::GetUserData() return m_userData; } -inline void b2Body::SetUserData(b2BodyUserData& userData) -{ - m_userData = userData; -} - inline void b2Body::ApplyForce(const b2Vec2& force, const b2Vec2& point, bool wake) { if (m_type != b2_dynamicBody) diff --git a/src/libraries/box2d/b2_fixture.h b/src/libraries/box2d/b2_fixture.h index 989dc6bd0..f12789b5e 100644 --- a/src/libraries/box2d/b2_fixture.h +++ b/src/libraries/box2d/b2_fixture.h @@ -158,9 +158,6 @@ public: /// store your application specific data. b2FixtureUserData& GetUserData(); - /// Set the user data. Use this to store your application specific data. - void SetUserData(b2FixtureUserData& userData); - /// Test a point for containment in this fixture. /// @param p a point in world coordinates. bool TestPoint(const b2Vec2& p) const; @@ -283,11 +280,6 @@ inline b2FixtureUserData& b2Fixture::GetUserData() return m_userData; } -inline void b2Fixture::SetUserData(b2FixtureUserData& userData) -{ - m_userData = userData; -} - inline b2Body* b2Fixture::GetBody() { return m_body; diff --git a/src/libraries/box2d/b2_joint.h b/src/libraries/box2d/b2_joint.h index c6546663d..2b4d586cd 100644 --- a/src/libraries/box2d/b2_joint.h +++ b/src/libraries/box2d/b2_joint.h @@ -139,9 +139,6 @@ public: /// Get the user data pointer. b2JointUserData& GetUserData(); - /// Set the user data pointer. - void SetUserData(b2JointUserData& userData); - /// Short-cut function to determine if either body is enabled. bool IsEnabled() const; @@ -223,11 +220,6 @@ inline b2JointUserData& b2Joint::GetUserData() return m_userData; } -inline void b2Joint::SetUserData(b2JointUserData& userData) -{ - m_userData = userData; -} - inline bool b2Joint::GetCollideConnected() const { return m_collideConnected; diff --git a/src/libraries/box2d/b2_settings.h b/src/libraries/box2d/b2_settings.h index ccdcac519..6db959ada 100644 --- a/src/libraries/box2d/b2_settings.h +++ b/src/libraries/box2d/b2_settings.h @@ -123,23 +123,8 @@ inline void b2Log(const char* string, ...) #endif // B2_USER_SETTINGS void loveAssert(bool test, const char* teststr); - #define b2Assert(A) loveAssert((A), #A) -namespace love { - namespace physics { - namespace box2d { - struct bodyudata; - struct fixtureudata; - struct jointudata; - } - } -} - -#define b2BodyUserData love::physics::box2d::bodyudata* -#define b2FixtureUserData love::physics::box2d::fixtureudata* -#define b2JointUserData love::physics::box2d::jointudata* - #include "b2_common.h" #endif diff --git a/src/modules/physics/box2d/Body.cpp b/src/modules/physics/box2d/Body.cpp index 05070d64f..8859c8bc8 100644 --- a/src/modules/physics/box2d/Body.cpp +++ b/src/modules/physics/box2d/Body.cpp @@ -45,7 +45,7 @@ Body::Body(World *world, b2Vec2 p, Body::Type type) udata->ref = nullptr; b2BodyDef def; def.position = Physics::scaleDown(p); - def.userData = udata; + def.userData.pointer = (uintptr_t)udata; body = world->world->CreateBody(&def); // Box2D body holds a reference to the love Body. this->retain(); @@ -529,7 +529,7 @@ int Body::setUserData(lua_State *L) if (udata == nullptr) { udata = new bodyudata(); - body->SetUserData(udata); + body->GetUserData().pointer = (uintptr_t)udata; } if(!udata->ref) diff --git a/src/modules/physics/box2d/Fixture.cpp b/src/modules/physics/box2d/Fixture.cpp index 6595eec1f..4d5c790ce 100644 --- a/src/modules/physics/box2d/Fixture.cpp +++ b/src/modules/physics/box2d/Fixture.cpp @@ -45,7 +45,7 @@ Fixture::Fixture(Body *body, Shape *shape, float density) udata->ref = nullptr; b2FixtureDef def; def.shape = shape->shape; - def.userData = udata; + def.userData.pointer = (uintptr_t)udata; def.density = density; fixture = body->body->CreateFixture(&def); this->retain(); @@ -262,7 +262,7 @@ int Fixture::setUserData(lua_State *L) if (udata == nullptr) { udata = new fixtureudata(); - fixture->SetUserData(udata); + fixture->GetUserData().pointer = (uintptr_t)udata; } if(!udata->ref) diff --git a/src/modules/physics/box2d/Joint.cpp b/src/modules/physics/box2d/Joint.cpp index a2e735fa3..ee5c46f2e 100644 --- a/src/modules/physics/box2d/Joint.cpp +++ b/src/modules/physics/box2d/Joint.cpp @@ -154,7 +154,7 @@ float Joint::getReactionTorque(float dt) b2Joint *Joint::createJoint(b2JointDef *def) { - def->userData = udata; + def->userData.pointer = (uintptr_t)udata; joint = world->world->CreateJoint(def); world->registerObject(joint, this); // Box2D joint has a reference to this love Joint. @@ -202,7 +202,7 @@ int Joint::setUserData(lua_State *L) if (udata == nullptr) { udata = new jointudata(); - joint->SetUserData(udata); + joint->GetUserData().pointer = (uintptr_t)udata; } if(!udata->ref)