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

Appveyor build issues report #1. #8

Open Alucard648 opened 8 years ago

Alucard648 commented 8 years ago

phase1 phase2

Wohlstand commented 8 years ago

1) Try in SMBX 1.3 and you will see worse case where small character allowed to go through this 2) That because I don't ignoring moving elements on this moment which was hard to solve even without movements around, but I have some thinks how to avoid this 3) That because block flagged at bottom is candidate for cliff detection, i wasn't actually made right touch marking that I still work to allow right reaction on contact with special blocks but avoid informal reaction from your screenshots 4) This also wasn't finished because that detector which fixes bonking and corner stumbling on wall is works for rect-only blocks yer but requires much more logical checks with truangle blocks (which side, which height, does actually touching or touched rectangular area only, etc.) which I will work a bit later 5) same imperfection as 3 6) painting of touched blocks wasn't actually implemented yet, therefore painted blocks are overlapped and forsed player change it's physical position at contacted side 7) one-way blocks correctly working with recr-only blocks and triangular one-way collision blocks are VERY experimentally 8) because on moment player flying I n air. For one mili second 9) that wired, and I'll check after sleep (at me now 4:45 AM, very late night)

Wohlstand commented 8 years ago

9'th bug fixed

Wohlstand commented 8 years ago

3, 4, 5 are been fixed

Wohlstand commented 8 years ago

P.S. Please use in next time a checkboxes to let me easier mark fixed bugs in the lists, it's easy:

- [x] This is a complete item
- [ ] This is an incomplete item
Wohlstand commented 8 years ago

About 6'th item: the case is character usually has smaller width than wall. So, I need to test in SMBX when character will push wall and keep zero space between wall EDIT: Okay, character doesn't dying while falling between danger wall with zero width, I will don't register walls which are doesn't pushing

Wohlstand commented 8 years ago

Item 7 finally fixed. However fixing 2 is pretty hard because one attempt broke my previous fix of corner collisions checking, and I undone that change. Will try test. Anyway, while playable character will be smoothly moved away (I also declare direction dependent from slope angle to avoid cheating going through wall). NPC will be forcedly moved to nearest wall unlike players.

About 1: how I told, in SMBX 1.3 that bug is much harder, but why don't keep it? Fixing of same with 2 resulted same broke. About 8: I don't think that cliff checker needed here, because I want to send a wall pushing event instead to tell NPC turn. Anyway, reason is: while automatic resolving of two-slopes collision in process, array of cliff candidates blocks accepts few elements, and there is illusion that no nearest touching blocks around to check it's edge for cliff distance.

Wohlstand commented 8 years ago

Item 2 is semi-fixed. For NPC's I need to force dropping them on soft-crush to the nearest wall (whille playable character will be smoothly moved opposite to it's current direction, or better: recent motion vector sign to avoid familiar cheating tricks with this effect like this done in original Mario games)

Alucard648 commented 8 years ago

Checked item #1 in SMBX 1.4.3. Works fine.