Fixing various problems with MF_SOLID collision
(I, toast, wrote the original merge request, but Alam made this merge request because I made a mistake. Twice. In a row.)
- Solid objects are now no longer intangible when your z is less than the other object's.
- I originally thought the bug was limited to just solid objects on slopes (hence the branch name), and was wondering about undesired side effects - but looking at this gfy, this was a major bug that slopes made easier to expose.
- Unfixed = http://gfycat.com/BareLimitedCavy
- Fixed = http://gfycat.com/JubilantOffensiveGar
- You now properly lose your momentum when jumping at a solid object.
- The way I fixed this was a hack, but it was originally a much worse hack which resulted in very bizzare physics issues, so...
- Unfixed = http://gfycat.com/ShockingAbsoluteArthropods (also demonstrates the first bug)
- Fixed = http://gfycat.com/EmbellishedCourageousGordonsetter
Merge request reports
Activity
Added 1 new commit:
- fa16abf7 - Fixed the thing where if you thok into a solid object you spin really fast in th…
Added 1 new commit:
- 0568712a - Prevent overflow when attempting to calculate the space between floor and ceilin…
I'm totally iffy about this merge request tbh...
How is collision with solid objects on vertically moving platforms currently (both pushable and non-pushable)? I remember making a few tweaks to the code back during 2.1 development to remove some problems with that scenario. I'm just hoping you didn't break that here.
Also, I can see why you made FixedMul(FRACUNIT, thing->scale) into just thing->scale (*cough* optimisation *cough*), but without context it just looks like downright wrong usage of it. But that's just me really.
I tested team monitors and pushable gargoyles (objectplaced in, hence no spikes- spikes can't be objectplaced on FOFs for some reason probably related to reverseplatformclipping, so I'll have to make a map in a bit) in both .16 and this branch.
- Team monitor (very obviously bugged, broken the same way in 2.1.16): http://gfycat.com/VastMiserableFox
- Gargoyle (not bugged, behaves fine): http://gfycat.com/ForkedEdibleChimpanzee
Alright, I made a testmap. I can share if needed. (The issue with spikes being objectplaced is to do with the fact that they are non-solid by default, which should probably be changed for 2.2...)
I've found another bug which exists in both .16 and this branch: http://gfycat.com/TenseWhoppingCicada (happens with all types of platforms which are solid on top, which seems to be a consequence of the @JTE pmomz stuff, and ONLY happens with non-pushable gargoyles - not any other type of solid object).
The important thing to note is that I have found no bizzare behaviours that have arisen in my branch alone. If you could offer any suggestions for things I should test with collision between solid objects and moving platforms to make this more thorough, though, please let me know.
Added 1 new commit:
- 8ad72232 - Helpful explanatory comments to assauge MI's fears.
Added 7 new commits:
- 2798bd5c - Ensure demo files will save to srb2home, where SRB2 already looks for them.
- 4abfe1e8 - Fix MinGW/AppVeyor build.
- 3b503f13 - Use function va to avoid having to delcare a new variable. Thanks MonsterIestyn.
- 3843533c - Merge pull request #118 from ilag11111/linux-replay-fix
- 5f4f6fda - Public remake of a merge request I shouldn't have put in Internal in the first place.
- 405237d3 - Merge branch 'SLADE_textures' into 'next'
- 6f1ce5c1 - Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into slopes_n_objects
Toggle commit listAdded 7 new commits:
- 9f878419 - Fix bottom of FOF with a pusher special not accounting for slopes
- fc44e530 - Merge branch 'slopes-even-more-fixes' into 'next'
- 394ed30f - Fixed the problem with the reverseplatform_clipping branch that caused springs t…
- f72e8a8f - Merge branch 'reverseplatform_clippingfixed' into 'next'
- e1baf02b - Lua now errors if negative scales are used with v.drawScaled
- 8e660ce8 - Merge branch 'drawscaled-scalefix' into 'next'
- c42e7ee4 - Merge branch 'next' into slopes_n_objects
Toggle commit listmentioned in commit 8b5abd95