int os_string_width (const zchar *);
void os_init_setup (void);
void os_warn (const char *, ...);
+void os_quit (void);
os_set_text_style(0);
os_display_string((zchar *)"[Hit any key to exit.]\n");
os_read_key(0, FALSE);
- scrollok(stdscr, TRUE); scroll(stdscr);
- refresh(); endwin();
+ os_quit();
}/* os_reset_screen */
+/*
+ * os_quit
+ *
+ * Immediately and cleanly exit.
+ *
+ */
+void os_quit(void)
+{
+ os_stop_sample(0);
+ ux_blorb_stop();
+ if (u_setup.curses_active) {
+ scrollok(stdscr, TRUE);
+ scroll(stdscr);
+ refresh();
+ endwin();
+ }
+ exit(1);
+}/* os_quit */
+
+
/*
* os_restart_game
*
case MOD_CTRL ^ 'U': c = ZC_DEL_TO_BOL; break;
case MOD_CTRL ^ 'W': c = ZC_DEL_WORD; break;
+ /* use ^Q to immediately exit. */
+ case MOD_CTRL ^ 'Q': os_quit();
+
default: break; /* Who knows? */
}