wiremod/wire

Really weird clutch behaviour when CHANGING friction value between unfrozen props

Mrleplayz opened this issue · 6 comments

Asked around discord too many times, nobody really responded with anything useful.

The clutch friction doesn't have constant application IF the friction is changed WHILE THE OBJECT IS ROTATING
Now, this is a problem since an unfrozen ACF vehicle still counts as the wheels sorta moving, so anytime i'd brake, it'd change the friction value while unfrozen/moving and not create a proper contraint.

This was NEVER an issue, and it only popped up in late September.

To Reproduce

  1. create a clutch link of two props, one as a baseplate other as a suspended member
  2. change the friction value WHILE the suspended memeber is rotating

Expected behavior
The clutch actually resists rotation as it did before September of this year (im not sure an update of gmod/wiremod caused it)
Note: video is in 24 fps, it is not stuttering, the wheel simply stops turning immediately upon release and the mouse jerks

2023-12-22.17-01-15.mp4

Resulted behaviour
The clutch takes time to engage and it does so only for a moment before letting go again
Weight of wheel 55, weight of base 1000

2023-12-22.17-00-39.mp4

As you see from this video, the friction is applied in "pulses"

2023-12-22.17-10-00.mp4

Clutch hasn't changed behavior in years from git blame so I don't think it's that.

I think there were gmod updates around that time? Might've broken something

Hasn't the behavior always been jank? It's basically deleting the ballsocket joint and creating a new one every time the friction changes iirc.

See that's part of the issue, it had perfect functionality but no one ever used it.
Even now I can't see any alternative to them, they were smooth, they could hold ACF cars on hills with no issue, they were flexible.
Like you can't reproduce that kind of functionality with weld latches or ACF brakes

The clutch scripts haven't been touched in years so something else broke whatever you are finding is different.