Inside src/player.lua, you are ignoring the results world:move gives you. world:move can "move correctly" the "rectangle inside the world" but it does not change the player variable itself (you must use the return values to do it yourself).
In other words, to fix the issue, you must replace this line:
ishan wrote:I take it kikito is on a mission to free the LOVE world from dirty library names?
*hugs*
Thanks for the hugs, but I am not on such a mission. I personally don't use lewd names for my libraries, but I think anyone has the right to name theirs however they want. I think some human-right-related themes are off-limits (i.e. sexism or hate speech), and I have voted to close some threads in that sense in the past. But that's a last-resource thing that I hope we won't have to use often, or lightly.
(Also, lewd-named libs tend to span long discussions in the forum. If you want to further talk about this, please do so in a separate thread. I'd like to keep things on-topic here).
Is there a way to simply get all of the items in a world? I've found that I either need to contain my objects in a container outside of the world to keep track of and update them separately (removing them as well, which is a pain), use arbitrarily big numbers to get all of them which still have the potential to be exceeded, or make odd, seemingly unnecessary measures to make sure the object doesn't leave the bounds of the world/map. It seems really odd to me to not be able to do something so trivial.
I considered it, but bump's interface is already list-based - the collisions are returned as a list, and the results of a query are also returned as a list. Besides, often you will want to sort the items in a certain order, and you can't do that with an iterator anyway (unless you use the iterator to create a table, which is even slower than just building the table).
kikito wrote:I considered it, but bump's interface is already list-based - the collisions are returned as a list, and the results of a query are also returned as a list. Besides, often you will want to sort the items in a certain order, and you can't do that with an iterator anyway (unless you use the iterator to create a table, which is even slower than just building the table).
Oh, I though that you stored the items in the space-partition tables (idk what you use/call them).
I store them there (those are called "cells"), but the "rectangles associated to each item" are stored in a single table in the world, and each one has its corresponding 'item' as a key. This is useful for several things (for example, to check if an item is in the world, you just check in that list, instead of iterating over all the cells).