phoboslab / wipeout-rewrite

2.64k stars 212 forks source link

Bug on Terramax jump? #84

Closed ghost closed 1 year ago

ghost commented 1 year ago

The attached video shows an issue I've been facing probably more than half the time on the Terramax track – not sure if it's the intended behavior for the jump (maybe I'm not going fast enough?)

https://github.com/phoboslab/wipeout-rewrite/assets/131688827/6e7e2788-c670-41a4-9cec-0b01abb9dc68

The-King-of-Toasters commented 1 year ago

It's definately a bug, I can always make the jump on the PAL PSX version.

phoboslab commented 1 year ago

Culprit is likely here in ship_player.c. If I recall correctly, I fudged some values there, because you'd previously trigger the rescue droid in Rapier class at the drop in Altima.

This probably needs a bit more logic to work in all cases.

phoboslab commented 1 year ago

Above commit should fix this. The rescue was initiated when the ship was still below the jump section center and triggered the vec3_mulf(distance, 8) path for distance.y < 0. If you were then on the far left or right of the section center, the distance to the correct path (from jump to landing) was too large.

Now, the we give it a bit of leeway to only trigger the vec3_mulf(distance, 8) when the ship is below 512 units of the current path.

Not sure why this wasn't a problem in the original wipeout...

ghost commented 1 year ago

it seems the bug still happens when I'm not going fast enough, but most of time the jump works fine! thanks for the fix!