anchor.diff:  %% --------------------------------------------------------------------------------------------------------------------
   
   simulate(Entity, EntityEngineState) ->
  -	Entity1 = do_flight_control(Entity),
  -	entity_physical:simulate(Entity1, EntityEngineState).
  +	{ShipUpdate, Entity1} = do_flight_control(Entity),
  +	PhysicalResult = entity_physical:simulate(Entity1, EntityEngineState),
  +
  +	case PhysicalResult of
  +		{undefined, Entity2} ->
  +			{ShipUpdate, Entity2};
  +		{PhysicalUpdate, Entity3} ->
  +			case ShipUpdate of
  +				undefined ->
  +					{PhysicalUpdate, Entity3};
  +				_ ->
  +					{ShipUpdate ++ PhysicalUpdate, Entity3}
  +			end
  +	end.
   
   %% --------------------------------------------------------------------------------------------------------------------
   
  
positive.code: 		calc_thrust(MaxYawT, YawR, YawVel, TYawScale * TYaw)
  	},
  
  	% Update physical state
  	NewPhysical = pre_physics_rk4:update_from_proplist(Physical, [
  		{force_relative, Force},
  		{torque_relative, Torque}
  	]),
  
  	% Update entity state
  	Entity#entity{
  		state = dict:store(physical, NewPhysical, Entity#entity.state)
  	}.
  
  
  calc_thrust(MaxTh, Resp, CurVel, TargetVel) ->
  
negative.code: 	Orientation = pre_physics_rk4:get_prop(orientation, Physical),
  	PositionVelAbs = pre_physics_rk4:get_prop(linear_velocity, Physical),
  	AngularVelAbs = pre_physics_rk4:get_prop(angular_velocity, Physical),
  	OldForce = pre_physics_rk4:get_prop(force_relative, Physical),
  	OldTorque = pre_physics_rk4:get_prop(torque_relative, Physical),
  
  	ShipState = dict:fetch(ship, Entity#entity.state),
  	{TX, TY, TZ} = dict:fetch(target_linear_velocity, ShipState),
  