On Fri, Apr 2, 2010 at 4:15 AM, Tyler Nielsen <tyler.niel...@gmail.com> wrote:
> Can you give me a quick rundown on what these are? I see one comment in the > code that stays: [...] > I looks like it's really changing coordinate space also (so that one unit in > eSpace = one Radius of the object). That's exactly what it does :-). > I'm just not sure how this is useful, > and how you would compare it to another object with different dimensions. The trick is to make that object undergo the same transformation, which happens in collision::check_triangle: // translate triangle into espace triangle3<float> eTriangle = triangle.translate (Radius, offset); The offset parameter is actually the object's coordinate on the world map, which is determined in moving::collide_with_objects: // ... and check if collision occurs shape->collide (collisionData, (*i)->Min-(*i)->get_object()->entire_min()); (That's one of the places you already changed, it seems). The whole collision stuff doesn't come out of nowhere, however. It's taken from http://www.peroxide.dk/papers/collision/collision.pdf with some more changes and bugfixes from the accompanying forum http://mrgamemaker.yuku.com/topic/368/t/Telemachos-tutorial-Improved-collision-detection-amp-resp.html Hope that helps, Kai _______________________________________________ Adonthell-devel mailing list Adonthell-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/adonthell-devel