Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tumbler triggers assert (false) near end of collision() #21

Closed
SimonN opened this issue Jan 4, 2016 · 3 comments
Closed

Tumbler triggers assert (false) near end of collision() #21

SimonN opened this issue Jan 4, 2016 · 3 comments
Labels

Comments

@SimonN
Copy link
Owner

SimonN commented Jan 4, 2016

Version 0.1.26.
Unknown circumstances, this bug is elusive right now. It should be investigated once replays can be loaded from disk.

Effect of the bug: The assert in lix.skill.tumbler is triggered:

final Collision collision()
{
    [...]
    // No collisions found at this pixel.
    if (isSolid(0, 1))
        assert (false, "copy more from tumbler.cpp:213, v2015-09-02.");
@SimonN SimonN added the 3-bug label Jan 4, 2016
@SimonN
Copy link
Owner Author

SimonN commented Jan 5, 2016

Possibly related issue in C++ Lix:
Landing on square block from below

Can't replay this right now in D Lix, because D Lix doesn't play back replay files yet.

@SimonN
Copy link
Owner Author

SimonN commented Jan 5, 2016

Reproduced the crash in D Lix, with lots of cubing and fling-exploding:

core.exception.AssertError@src/lix/skill/tumbler.d(214):
copy more from tumbler.cpp:213, v2015-09-02. BallisticFlyer speedX=0, speedY=-17

Another repro in 0.1.30:

src/lix/skill/tumbler.d:214:
copy more from tumbler.cpp:213, v2015-09-02. BallisticFlyer speedX=12, speedY=-8

So far, all assert hits have been with speedY << 0. Probably closely missing an edge, see post above this one for the C++ bug.

SimonN added a commit that referenced this issue Jan 18, 2016
This removes the assert in issue #21.
Instead of asserting, we should look out for Nepster's
bug of flying upwards past a rectangle. This bug is linked
from issue #21.
@SimonN
Copy link
Owner Author

SimonN commented Jan 18, 2016

When (every lix who hit the assert) was flying upwards, and the assert triggered upon floor existing, that floor probably isn't interesting for the lix. I'll close this for now. Create a new issue in case a concrete problem comes up.

@SimonN SimonN closed this as completed Jan 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant