Enemies are destroyed on the opposite side of the sphere clearer

Issue #273 resolved
Riot created an issue

Attached is a savegame where this happens in the following few seconds

Comments (10)

  1. Norgg

    There used to be a bug in the collision detection where things would count as collided if they were on the opposite side, but the bounding check should prevent this. I'm worried that that's not working for some reason now and that's come back, I think I've seen the player ship getting destroyed by things on the opposite side too recently.

  2. Riot reporter

    I've bisected somewhat; this bug exists as far back as we're able to load the attached savefile.

  3. Norgg

    I think this line from sphere.cpp:575 and sphere.cpp:631 should prevent this from happening, but something's going wrong with it? Possibly related to bounding circles being off but I think I've checked those, will double-check.

    if(ent1.get_distance_sq(ent2.position_vector) < std::pow(ent1.bounding_circle + ent2.bounding_circle, 2.0f)) {

  4. Norgg

    Pretty sure that commit fixes this issue, but hard to test since the bounding circle is serialised to the save file so that save still has the problem. I'll do some more testing to verify.

  5. Norgg

    Okay, confirmed that this should fix it using this save file by setting bounding_circle correctly post-serialisation. Also normalised portal clearer size a bit in 160e816.

  6. Log in to comment