Open thecozies opened 2 years ago
Wouldn't adding this literally reintroduce surface cucking? Closing this for now unless somebody corrects me.
if the currently checked floor's highest point is below the current collided tri's lowest point, then no this would not cause surface cucking
in fact, i believe the check can actually be more aggressive - checking if the floor's upperY is less than the currently collided height should be enough
Alright, I'll reopen this then. This does need to be tested very diligently though if it is to be merged.
Right now collision checks will continue after finding a floor or ceil to be very certain that a another tri shouldn't have been hit instead.
In
find_floor_from_list
, it seems that havingif (floor && surf->upperY < floor->lowerY) break;
at the top of the loop could improve performance. This is a good check because it insures that you have found a floor, and that the current floors highest point is lower than the previously collided floor's lowest point. And because of sort order, there's no reason to continue checking after this point.The same but reversed could be done for ceilings.