Skip to content

Optimize surface collision checks and break when upperY/lowerY is out of bounds #174

@thecozies

Description

@thecozies

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 having if (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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmonkaSmonkaSneeds verificationNeeds to be tested to ensure functionalityperformanceIssue or feature related to game performance

    Type

    No type

    Projects

    Status

    To do

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions