I guess u need to save current direction of movement when u press Alt key (i.e. in FreeLookPressed()
) to a variable and use it in movement code instead of calculating new movement direction relative to camera rotation.
Later (in FreeLookRelease()
) just return to using calculated direction.
Tick isnt nessesary at all