panqkart / panqkart

A 12 multiplayer racing game built with Minetest 🏎 with multiple/upgradable cars, coin system, and more.

Home Page:https://content.minetest.net/packages/Panquesito7/panqkart

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Random 360° turn on part of the track

Panquesito7 opened this issue · comments

Description

On a certain part of the track, the vehicle does a 360° yaw change without reason.
The code that's causing this seems to be on the yaw movement of the car when using mouselook.

local yaw = entity.object:get_yaw()
local yaw_delta = entity.driver:get_look_horizontal() - yaw + math.rad(90)
if yaw_delta > math.pi then
yaw_delta = yaw_delta - math.pi *2
elseif yaw_delta < - math.pi then
yaw_delta = yaw_delta + math.pi* 2
end
local yaw_sign = get_sign(yaw_delta)
if yaw_sign == 0 then
yaw_sign = 1
end
yaw_delta = math.abs(yaw_delta)
if yaw_delta > math.pi / 2 then
yaw_delta = math.pi / 2
end
local yaw_speed = yaw_delta * entity.turn_spd
yaw_speed = yaw_speed * dtime
entity.object:set_yaw(yaw + yaw_sign*yaw_speed)

Any help with this would be greatly appreciated. Thanks. 🙂