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 #8 issues report #5

Closed Alucard648 closed 8 years ago

Alucard648 commented 8 years ago

bug_2

Jump while pushing torwards slope-to-floor corner. You go through floor and got perma-stuck:

perma_stuck2

Wohlstand commented 8 years ago

1) Ouch, that stupid corners! 2) I think, I even try to throw key into ceiling hole in both SMBX engines to check out that thing (I bet it has same trouble, but 50% that thing allows this trick without crushing) EDIT: About 2 - in both SMBX'es same thing.

Wohlstand commented 8 years ago

1 is almost fixed, and now it is very hard to reproduce it. (however some moments are still not be ideal). About 2 I told that in original SMBX same issue. Anyway, it can catch hole only when it pushing ceiling and moving left/right at same time.

Wohlstand commented 8 years ago

About 2. Internally space uses double floating point value for coordinates values since integer is very not optimal for smooth movement and lower speeds and accelerations. The case here is decimal part makes left or right side be impacted by head. But, you gave me an idea! I'll round values to integers while will check collisions with a horizontal ceiling blocks, so, i'll try to teach our fat-ass friend go through that hole

EDIT1: But con of this thing (may be proc, need to test in SMBX): wall hole catching will work only when character falls down, and not while flying up. That may cause trouble when invert gravity to up direction. Anyway I would allow this only when disabled walking over floor holes for NPC's only and allow playable characters (which are has less width than standard block size) to catch wall holes while flying up too.

EDIT2: Just tested in SMBX 1.3, and hole catching works only when character falling down

Wohlstand commented 8 years ago

All items here are been fixed