- marked as minor
Enemies are destroyed on the opposite side of the sphere clearer
Attached is a savegame where this happens in the following few seconds
Comments (10)
-
reporter -
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.
-
reporter - marked as major
Reprioritising as major if there's a possibility of the player ship being destroyed unintentionally.
-
reporter I've bisected somewhat; this bug exists as far back as we're able to load the attached savefile.
-
I think this line from
sphere.cpp:575
andsphere.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)) {
-
- changed status to resolved
Fix bounding circle for portal clearers, fixes
#273.→ <<cset 00a05923ae1b>>
-
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.
-
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.
-
Also reviewed the settings for bounding circles in other entities and I think they're all sensible.
-
reporter - removed milestone
Removing milestone: Beta (automated comment)
- Log in to comment