I was sort of assuming that we could find a function F that is called to perform a collision test for an object. Intercept calls to F; if the object is owned by some player, modify player positions before calling the original F and then set them back once original F has completed. Thus, there is no need to understand much about the collision system. The challenge is mainly finding F, although this may not be challenging really (for someone who has reverse-engineering experience). The problem is, this assumes that the collision tests simply read and make use of player positions, but there might be a separate pass that computes collision info, which is then used for collision testing. (E.g. I believe collision code in most games partitions the world so that only collisions between objects in the same or neighbouring partitions need to be checked.) Therefore, changing the player positions would not have any effect, as the collision info has already been calculated (or, it may give unexpected results). But this is all just pointless speculation really...
Bookmarks