Commit Graph

74 Commits

Author SHA1 Message Date
Alex Szpakowski 633d2fa5c8 Merge branch 'master' into 12.0-development 2021-01-06 21:49:34 -04:00
Qais Patankar 562cc6b1cb Fix #1614: add Body:getLocalPoints 2020-12-30 04:27:48 +00:00
Alex Szpakowski cbde2ce76c Merge pull request #1613 from thegrb93/box2d-update
Box2d update to 2.4.1
2020-11-02 21:27:57 -04:00
Garrett Brown 1b74b34cce Update userdata stuff to how new box2d wants it 2020-10-17 22:30:01 -04:00
Garrett Brown 77f238767f Update to box2d 2.4.1 2020-10-17 22:15:18 -04:00
Garrett Brown bd6d50e2a9 Rename to get/setKinematicState 2020-09-20 21:54:02 -04:00
thegrb93 e4c7a4e777 Add getState and setState 2020-09-16 21:39:55 -04:00
Garrett Brown 09db462fd6 Fixes 2020-08-16 19:01:59 -04:00
Garrett Brown 59a1a4b2cd Finish wrapper function renames 2020-08-16 18:27:51 -04:00
Garrett Brown 74c6021e8d Starting box2d update 2020-08-16 10:40:04 -04:00
Alex Szpakowski fc4847c69d Update copyright for the new year 2020-01-03 22:40:36 -04:00
Alex Szpakowski 3ad16a70da love.physics: move internal box2d->love object map to World instances, and clean up some physics object code. Resolves issue #1465. 2019-01-04 21:36:05 -04:00
Alex Szpakowski 0752f27bdf Update copyright year for 2019 2019-01-03 21:09:05 -04:00
Alex Szpakowski a7d0c02058 Remove some unused love.physics Body methods, and clean up a bit of code. 2019-01-03 20:36:47 -04:00
Alex Szpakowski 4d5c4ef807 Fix Body:isTouching. 2018-01-14 14:40:46 -04:00
Alex Szpakowski 02e115c339 Add Body:isTouching(otherbody). See issue #1365. 2018-01-14 14:37:48 -04:00
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Bart van Strien 23929cab14 Rename love.physics getObjectList functions to getObjects (resolves #1305)
World:getBodyList -> World:getBodies
World:getContactList -> World:getContacts
World:getJointList -> World:getJoints

Body:getFixtureList -> Body:getFixtures
Body:getContactList -> Body:getContacts
Body:getJointList -> Body:getJoints

Marked the old functions as deprecated

--HG--
branch : minor
2017-09-13 15:48:53 +02:00
Alex Szpakowski b590edf27d Merge default into minor
--HG--
branch : minor
2017-04-30 00:37:26 -03:00
raidho36 6b7172bd40 Fix Issue #1273
Added Lua index registry clear routine to `destroy` method of classes that use it.
If this is left to GC, the abandoned userdata would stay in memory for one full extra cycle.

Prettified the code slightly. Clarified some comments. Refactored `Fixture` class `udata` name.
Removed Reference class include from `Shape` (it doesn't use it).
2017-04-14 05:53:36 +03:00
Alex Szpakowski abb72cb813 Happy new year! 🥂
--HG--
branch : minor
2017-01-02 01:28:29 -04:00
Bart van Strien 5d43c9601a Automatically deduce the type in luax_pushtype, if possible
--HG--
branch : dynamiccore2
2016-11-13 17:38:42 +01:00
Bart van Strien c761202486 Build type information on first use (load-time), instead of using a hardcoded list
--HG--
branch : dynamiccore2
2016-11-13 16:38:57 +01:00
Alex Szpakowski 46a2e7b85c Happy new year! 🎉 2016-01-01 00:05:06 -04:00
Alex Szpakowski aca369e5d4 Fixed memory leaks in love.physics. When a World is garbage-collected it now implicitly calls World:destroy, which also destroys all Bodies, Fixtures, and Joints that belong to it. 2015-11-17 01:27:48 -04:00
Alex Szpakowski 2cce18946d Fixed objects which store Lua callback functions to avoid attempting to use dead coroutines when deleting the reference to the callback function. Should fix crashes when coroutines are mixed with those objects.
Also improved the performance of World:rayCast and World:queryBoundingBox.
2015-07-18 03:26:07 -03:00
Alex Szpakowski 0f986b10aa Cleaned up some code, the 'ry' parameter of love.graphics.rectangle now defaults to the value of 'rx' rather than defaulting to 0. 2015-05-27 17:36:27 -03:00
Alex Szpakowski 2f419c1c83 Replaced most cases of type bits and type name strings in love's Lua wrapper code with type id's.
--HG--
branch : minor
2015-03-01 18:32:41 -04:00
Alex Szpakowski c7b45b3505 Updated copyright for the new year 2014-12-31 19:32:43 -04:00
Alex Szpakowski 5fac441a51 Added Body:getJointList. 2014-11-15 01:17:20 -04:00
Alex Szpakowski da7cd267ea Changed luax_pushtype to retain the pushed object itself, but only if the object isn't in the Lua state already.
Previously, calling e.g. love.graphics.getFont() 10,000 times would retain the object 10,000 times (and release it 10,000 times when the Font object was garbage-collected in the Lua state.) Now it will only retain it once and release it once.
2014-08-09 16:04:59 -03:00
Alex Szpakowski d59c76a55f Reduced the number of explicit retain/release method calls on love objects. Less chance of bugs! 2014-08-07 14:53:17 -03:00
Alex Szpakowski 9ab9a393d5 Added Contact:getFixtures and Body:getContactList (see issue #905).
The list of Contacts associated with bodies changes during World:update (potentially multiple times), so you might miss collisions if you don't use the World callbacks at all.
2014-07-07 15:24:24 -03:00
Alex Szpakowski fe5e7c17e7 Added Body:setUserData and Body:getUserData (resolves issue #853_ 2014-02-26 20:47:05 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski 5e3a0fbc6e Updated box2d from 2.2.1 to 2.3.0
--HG--
branch : box2d-2.3
2013-11-09 04:30:36 -04:00
Alex Szpakowski ec9dec6b80 Replaced luax_newtype with luax_pushtype (and added luax_rawnewtype for the old functionality of luax_newtype.)
luax_pushtype keeps the object in a weak table and checks the table before creating a new userdata, so it re-uses the object's existing wrapper userdata if it can, whenever the object is pushed to Lua.

This fixes some subtle issues with love objects, where using them as keys in tables would not always work as expected (https://love2d.org/forums/viewtopic.php?f=4&t=39398&p=112388#p112415). It also decreases the amount of new Lua objects created, saving the garbage collector some work.
2013-08-29 00:40:06 -03:00
Alex Szpakowski 96161c66f6 Updated copyright text for the new year 2013-02-05 05:32:49 -04:00
Bart van Strien 7793e7f02f CRLF to LF 2012-07-04 14:40:24 +02:00
rude 81c38e22d0 Applied the new style guidelines.
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00
Bill Meltsner fae16c712d make Body::applyForce(fx, fy) semantically clearer 2012-02-04 19:09:20 -05:00
Bill Meltsner f3d770e5e7 Scale Body inertia 2012-02-04 17:54:16 -05:00
Bart van Strien f6e9f4cac7 Stop Body:getWorldPoints from overflowing the lua stack 2012-01-15 11:09:38 +01:00
Linus Sjögren 7f13fc47c7 Damn you, copy paste! 2012-01-10 04:24:13 +01:00
Linus Sjögren afd0ef1d9e Add a custom Body:setMass function. 2012-01-10 04:14:17 +01:00
Bill Meltsner be55579a22 Happy New Year, have an enormous diff 2012-01-09 02:41:11 -06:00
Bart van Strien c1f68e058d Use Box2D's callbacks for destruction of physics objects and wait until the end of the timestep before destroying them.
Merge of box2d-id2 from love-experiments
2012-01-08 13:16:50 +01:00
Bart van Strien 0aae9684b3 Automated formatting fix 2011-11-16 11:32:41 +01:00
Bill Meltsner d40b25c1e6 Hindenmerge 2011-10-12 13:40:56 -05:00
Bill Meltsner c5cd6d709b Fix a lot of scaling issues
--HG--
branch : box2d-update
2011-09-29 11:09:08 -04:00