public void OnFrameRender(Device device, double totalTime, float elapsedTime) { if (recording && startTime != -1) { if (totalTime - lastRecord > recorderInterval) { lastRecord = totalTime; binaryWriter.Write(totalTime - startTime); state.Position = Airplane.Position; state.Orientation = Airplane.Orientation; state.Rudder = owner.Player.FlightModel.Rudder; state.Throttle = owner.Player.FlightModel.Throttle; state.Elevator = owner.Player.FlightModel.Elevator; state.Ailerons = owner.Player.FlightModel.Ailerons; state.Smoke = owner.Player.Smoking; state.Gear = owner.Player.FlightModel.GearExtended; state.Flaps = owner.Player.FlightModel.FlapsExtended; state.OnWater = owner.Player.FlightModel.OnWater; state.Write(binaryWriter); } } }