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 #10 issues report #7

Closed Alucard648 closed 7 years ago

Alucard648 commented 7 years ago

bonk1

Wohlstand commented 7 years ago
  1. Ooouch... Seems I forgot to update dumb (betweenV(pl.top()) || betweenV(pl.bottom())) condition into betweenV(pl.top(), pl.bottom()) which checks collision of two lines instead line<->point which makes no sense if character has bigger height than collided block. I already updated betweenH conditions, but this still be here. So, i'll fix that. EDIT: Done! Reason - wrong direction of collision resolving (!colV instead of !colH)
  2. Never seen this, but i'll check stuff around
  3. Just requires some conditions to ignore any corner floors if wall collision has been detected
  4. Same may be happen with solid blocks, when collision of ceiling has been resolved before resolving of the floor
  5. I still need to calibrate something
  6. Highlighted blocks are which are been detected as collision which are been resolved. To have blocks are actually "touched", another loop collects those blocks around and those blocks are will be detected all. Same way used to detect blocks being bumped by dumb rectangular head (you would see that dark-yellow colored highlight is resolving of vertical bottom collision. So, remember simple formula: Cyan (left/top), Yellow (right/bottom), Dark(vertical), Light(horizontal)) Other stuff I'll continue tomorrow, now I'm tired, and a night now
Wohlstand commented 7 years ago

P.S. I think, I'll try to setup appveyor builder to make you easier way to retreive fresh builds instead waitng snapshots which I making once per day if no rarer

Wohlstand commented 7 years ago

I think, all bugs except last (accurate collecting of touched blocks) are been fixed, please test AppVeyor's build About last thing: I need to check touching with this block after resolving of collision, and I have the idea how to make that

Alucard648 commented 7 years ago

Where can I grab AppVeyor's build?

Wohlstand commented 7 years ago

On the main page of this repo, you will find the AppVetor's badge Build status which showing building state. Inside you will see latest build log and in the "Artifacts" tab a packed assembly in the zip. But on same repo page you will see download link which following to my server where same assembly uploading every success build. Every time I pushing new commit, AppVeyor begins new build. Same on PGE and LunaLUA repos

Wohlstand commented 7 years ago

All bugs in this list are been fixed

Alucard648 commented 7 years ago

Item 3 is still reproducible in latest AppVeyor build.

Wohlstand commented 7 years ago

But with character of same or lower size than hole. That must be, or I will break ability to catch holes on the walls