I have managed to add pitch and roll and parent the camera...
But no copying my game, I'm obviously writing a 3d asteroids so don't particularly want every one on the boards from bringing out their own version at the same time!
Function PLAYERmove( p.Player )
;turning
TurnX# = KeyDown (LeftKey) - KeyDown(RightKey)
p\TurnSpeedX# = p\TurnSpeedX# *p\TurnDrag + TurnX * p\TurnAcceleration
TurnY# = KeyDown (DownKey) - KeyDown(UpKey)
p\TurnSpeedY# = p\TurnSpeedY# *p\TurnDrag + TurnY * p\TurnAcceleration
TurnEntity p\Model , p\TurnSpeedY,0, p\TurnSpeedX
;moving
Direction# = KeyDown(Forward) - KeyDown(Back)
TFormNormal 0,0,1, p\Model, 0
Thrust# = ( Direction = 1 ) * p\MoveAcceleration - ( Direction = -1 ) * p\MoveDeceleration
p\SpeedX = p\SpeedX * p\MoveDrag + Thrust * TFormedX()
p\SpeedY = p\SpeedY * p\MoveDrag + Thrust * TFormedY()
p\SpeedZ = p\SpeedZ * p\MoveDrag + Thrust * TFormedZ()
TranslateEntity p\Model, p\SpeedX , p\SpeedY , p\SpeedZ
TranslateEntity g_bg_nebula_mesh, p\SpeedX , p\SpeedY , p\SpeedZ
End Function
EntityParent camera, ME\Model