WohlSoft / MiniPhysics-By-38A

A tiny physical engine made by 5438A38A in VB6 and ported into C++ with Qt and improved by Wohlstand
GNU General Public License v3.0
4 stars 1 forks source link

Snapshot #9 issues report #6

Closed Alucard648 closed 8 years ago

Alucard648 commented 8 years ago

perma_stuck3

too_fat4

Wohlstand commented 8 years ago

Okay, now I finally figured out why this happens: corner collision bullshit

and now I idea how to completely resolve this! So, instead do lot of post-checks crap-code, I must rerun collision check loop to recheck all previously collided elements, and when after resolving of slope collision, detected a new floor/ceiling collision - I will resolve it in any way, but also with resolving of minimal available height to avoid burring into floor/ceiling

Wohlstand commented 8 years ago

Self-fixed item 1 when I implemented better algorithm of corner collision resolving However, fixing of 1'st item in issue #4 is not easy especially that happens when character flying with |speed X| == |speed Y| and touches corner of rectangular block without touching triangles. Anyway, one idea I have - don't apply speed and store new speed into separated variable. But apply it only when slope collision has been detected

Wohlstand commented 8 years ago

All bugs in this list are been fixed