NHDT->ANH, nethack->anethack, nhdat->anhdat
[aNetHack.git] / sys / share / pctty.c
blob737dba7c985e5107c166026a2cadffcbf1761759
1 /* aNetHack 0.0.1 pctty.c $ANH-Date: 1432512787 2015/05/25 00:13:07 $ $ANH-Branch: master $:$ANH-Revision: 1.11 $ */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /* aNetHack may be freely redistributed. See license for details. */
5 /* tty.c - (PC) version */
7 #define NEED_VARARGS /* Uses ... */ /* comment line for pre-compiled headers \
8 */
9 #include "hack.h"
10 #include "wintty.h"
12 char erase_char, kill_char;
15 * Get initial state of terminal, set ospeed (for termcap routines)
16 * and switch off tab expansion if necessary.
17 * Called by startup() in termcap.c and after returning from ! or ^Z
19 void
20 gettty()
22 erase_char = '\b';
23 kill_char = 21; /* cntl-U */
24 iflags.cbreak = TRUE;
25 #if !defined(TOS)
26 disable_ctrlP(); /* turn off ^P processing */
27 #endif
28 #if defined(MSDOS) && defined(NO_TERMS)
29 gr_init();
30 #endif
33 /* reset terminal to original state */
34 void
35 settty(s)
36 const char *s;
38 #if defined(MSDOS) && defined(NO_TERMS)
39 gr_finish();
40 #endif
41 end_screen();
42 if (s)
43 raw_print(s);
44 #if !defined(TOS)
45 enable_ctrlP(); /* turn on ^P processing */
46 #endif
49 /* called by init_nhwindows() and resume_nhwindows() */
50 void
51 setftty()
53 start_screen();
56 #if defined(TIMED_DELAY) && defined(_MSC_VER)
57 void
58 msleep(mseconds)
59 unsigned mseconds;
61 /* now uses clock() which is ANSI C */
62 clock_t goal;
64 goal = mseconds + clock();
65 while (goal > clock()) {
66 /* do nothing */
69 #endif
71 /* fatal error */
72 /*VARARGS1*/
74 void error
75 VA_DECL(const char *, s)
77 VA_START(s);
78 VA_INIT(s, const char *);
79 /* error() may get called before tty is initialized */
80 if (iflags.window_inited)
81 end_screen();
82 putchar('\n');
83 Vprintf(s, VA_ARGS);
84 putchar('\n');
85 VA_END();
86 exit(EXIT_FAILURE);
89 /*pctty.c*/