by taniwha » Sat Jun 18, 2011 3:47 am
First, I have to say that when I did try out your code, I was very impressed. Contrary to my expectations, it worked quite well and seemed fairly consistent. The FL_ONGROUND and grab-key suggestions came from actually trying things.
I couldn't see your pics (1x1 gifs), but I think I know to what problem you are referring: very thin ledges: quite right. I hadn't thought of that. While your idea of shooting up from the lower position (collision point) sounds good, it won't work in quake as the engine never blocks a trace going from solid to non-solid (it doesn't even get "all solid" right all the time).
However, obtaining the (lower) collision point, going half a quake unit beyond it, and doing a traceline from the upper point (same distance as the collision point plus a bit) should work: anything smaller than 1 quake unit is either a wedge or normally impossible.
[edit]I just realized that climbing slopes might be interesting. but making good use of the plane information returned from traceline might help.
I'll see if I can get some hacking done this weekend.