I have rewritten the collision and movement system again...
There were a few problems with the previous version(s) which became a big problem with scripted movement.
So I did my best to make the new system stable and future-proof, the new system is in svn rev. 581.
The following things are new/changed in the new:
- The player and shadow are now 23px wide (for some reason nobody noticed they were 21px since the start )
- Blocks are now moved before the player, this way the player doesn't have to "predict" the block movement.
- The player can now be squashed by "teleporting" moving blocks.
- All events are added to the eventQueue and handled at the same time before any movement in the logic method of the Game state.
There are a few bugs I'm aware of, mainly the pushable blocks which need their movement code updated.
And when multiple moving blocks are overlapping, the order which they are in can make the player "bounce" off them.
If you encounter any bugs with the new system please post them in this thread.
Also explain how to reproduce the bug, preferably with a test-case attached.