diff --git a/changes.txt b/changes.txt index 5cc58867c..f8a76a421 100644 --- a/changes.txt +++ b/changes.txt @@ -17,7 +17,8 @@ LOVE 0.7.0 * Fixed setFixedRotation enabling other flags. * Fixed a bug in the loader (for require). * Fixed a bug where ParticleSystem::setSprite did not retain the new image. - * Fixed a bug where images would lose their settings (wrapping, filters) when setMode as called. + * Fixed a bug where images would lose their settings (wrapping, filters) when setMode as called. + * Fixed a bug where shape:getBody wasn't exposed. * Invalid FSAA values now fall back to working ones (or none at all). * Cleaned up traceback in error screen. * Moved fonts to love.font (from love.graphics), only rendering remains in love.graphics. diff --git a/src/modules/physics/box2d/Shape.h b/src/modules/physics/box2d/Shape.h index 7d480e89f..bbe19eda2 100644 --- a/src/modules/physics/box2d/Shape.h +++ b/src/modules/physics/box2d/Shape.h @@ -23,6 +23,7 @@ // LOVE #include +#include #include // Box2D @@ -34,9 +35,6 @@ namespace physics { namespace box2d { - // Forward declarations. - class Body; - /** * This struct is stored in a void pointer * in the Box2D Shape class. For now, all we diff --git a/src/modules/physics/box2d/wrap_CircleShape.cpp b/src/modules/physics/box2d/wrap_CircleShape.cpp index 3e6dd1c66..9166fc54e 100644 --- a/src/modules/physics/box2d/wrap_CircleShape.cpp +++ b/src/modules/physics/box2d/wrap_CircleShape.cpp @@ -71,6 +71,7 @@ namespace box2d { "getFriction", w_Shape_getFriction }, { "getRestitution", w_Shape_getRestitution }, { "getDensity", w_Shape_getDensity }, + { "getBody", w_Shape_getBody }, { "isSensor", w_Shape_isSensor }, { "testPoint", w_Shape_testPoint }, { "testSegment", w_Shape_testSegment }, diff --git a/src/modules/physics/box2d/wrap_PolygonShape.cpp b/src/modules/physics/box2d/wrap_PolygonShape.cpp index 6874f2a97..8232ad8d9 100644 --- a/src/modules/physics/box2d/wrap_PolygonShape.cpp +++ b/src/modules/physics/box2d/wrap_PolygonShape.cpp @@ -49,6 +49,7 @@ namespace box2d { "getFriction", w_Shape_getFriction }, { "getRestitution", w_Shape_getRestitution }, { "getDensity", w_Shape_getDensity }, + { "getBody", w_Shape_getBody }, { "isSensor", w_Shape_isSensor }, { "testPoint", w_Shape_testPoint }, { "testSegment", w_Shape_testSegment }, diff --git a/src/modules/physics/box2d/wrap_Shape.cpp b/src/modules/physics/box2d/wrap_Shape.cpp index 552eac46c..d5dd784fa 100644 --- a/src/modules/physics/box2d/wrap_Shape.cpp +++ b/src/modules/physics/box2d/wrap_Shape.cpp @@ -107,6 +107,7 @@ namespace box2d Body * body = t->getBody(); if(body == 0) return 0; + body->retain(); luax_newtype(L, "Body", PHYSICS_BODY_T, (void*)body); return 1; } @@ -233,6 +234,7 @@ namespace box2d { "getFriction", w_Shape_getFriction }, { "getRestitution", w_Shape_getRestitution }, { "getDensity", w_Shape_getDensity }, + { "getBody", w_Shape_getBody }, { "isSensor", w_Shape_isSensor }, { "testPoint", w_Shape_testPoint }, { "testSegment", w_Shape_testSegment },