+ repaired = loaded = fired = changed = 0;
+ movebuf[0] = '\0';
+
+ alarm(0);
+ if (mf->readyL & R_LOADING) {
+ if (mf->readyL & R_DOUBLE)
+ mf->readyL = R_LOADING;
+ else
+ mf->readyL = R_LOADED;
+ }
+ if (mf->readyR & R_LOADING) {
+ if (mf->readyR & R_DOUBLE)
+ mf->readyR = R_LOADING;
+ else
+ mf->readyR = R_LOADED;
+ }
+ if (!hasdriver)
+ send_ddead();
+
+ display_hide_prompt();
+ if (Sync() < 0)
+ leave(LEAVE_SYNC);
+ if (!hasdriver)
+ leave(LEAVE_DRIVER);
+ display_reshow_prompt();
+
+ if (turn % 50 == 0)
+ send_alive();
+ if (mf->FS && (!mc->rig1 || windspeed == 6))
+ send_fs(ms, 0);
+ if (mf->FS == 1)
+ send_fs(ms, 2);
+
+ if (mf->struck)
+ leave(LEAVE_QUIT);
+ if (mf->captured != 0)
+ leave(LEAVE_CAPTURED);
+ if (windspeed == 7)
+ leave(LEAVE_HURRICAN);
+
+ display_adjust_view();
+ display_redraw();
+
+ signal(SIGALRM, newturn);
+ alarm(7);
+}
+
+void
+play(void)
+{
+ struct ship *sp;