markcwm / openb3d.mod

OpenB3D BlitzMax wrapper, see openb3d.docs for examples
18 stars 7 forks source link

Found a bug with the collision responses #23

Closed Kippykip closed 3 years ago

Kippykip commented 3 years ago

Setting a collision response as 0 should make it collisions detectable but without any stopping/sliding etc after calling UpdateWorld.

There's a bug where when it's set to 0 (COLLISION_RESPONSE_NONE), it tries to slide when it shouldn't (on top of that it also clips a bit anyway). This edit now corrects the behaviour.

For whatever reason if somebody still wanted this very buggy behaviour, you could still use a collision response of 4, which isn't checked anywhere in the collision response code resulting in this exact behaviour anyway.

markcwm commented 3 years ago

Hi Kippykip, thank you for the fix. I tested and it works as expected. Yes, non-collision response was never taken into account in the original code but is potentially useful. This fix would also work for Minib3d.

Kippykip commented 3 years ago

Hi Kippykip, thank you for the fix. I tested and it works as expected. Yes, non-collision response was never taken into account in the original code but is potentially useful. This fix would also work for Minib3d.

Yeah it's already become useful in my project. Some examples it could be handy for are map triggers, or bullets in games that can pass through multiple NPCs / bullets with "friendly fire" toggles/options. Lots of possibilities.