comparison srogue/newterm.c @ 36:2128c7dc8a40

Import Super-Rogue 9.0 from the Roguelike Restoration Project (r1490)
author elwin
date Thu, 25 Nov 2010 12:21:41 +0000
parents
children
comparison
equal deleted inserted replaced
35:05018c63a721 36:2128c7dc8a40
1 /*
2 * Super-Rogue
3 * Copyright (C) 1984 Robert D. Kindelberger
4 * All rights reserved.
5 *
6 * See the file LICENSE.TXT for full copyright and licensing information.
7 */
8
9 #include "rogue.h"
10
11 extern SGTTY _tty, _res_flg;
12 extern bool NONL;
13
14 raw()
15 {
16 /*
17 VERSION 5.0
18 _tty.c_lflag &= ~ICANON;
19 _tty.c_cc[VMIN] = 1;
20 _tty.c_cc[VTIME] = 255;
21 _tty.c_oflag &= ~OPOST;
22 */
23 _rawmode = TRUE;
24 _tty.sg_flags |= CBREAK;
25 ioctl(_tty_ch, TIOCSETP, &_tty);
26 }
27
28
29 noraw()
30 {
31 /*
32 VERSION 5.0
33 _tty.c_lflag |= ICANON;
34 _tty.c_cc[VMIN] = _res_flg.c_cc[VMIN];
35 _tty.c_cc[VTIME] = _res_flg.c_cc[VTIME];
36 _tty.c_oflag |= OPOST;
37 */
38 _rawmode = FALSE;
39 _tty.sg_flags &= ~CBREAK;
40 ioctl(_tty_ch, TIOCSETP, &_tty);
41 }
42
43
44 crmode()
45 {
46 /*
47 VERSION 5.0
48 _tty.c_lflag &= ~ICANON;
49 _tty.c_oflag |= ONLCR;
50 _tty.c_cc[VMIN] = 1;
51 _tty.c_cc[VTIME]=255;
52 */
53 _rawmode = TRUE;
54 _tty.sg_flags |= (CBREAK | CRMOD);
55 ioctl(_tty_ch, TIOCSETP, &_tty);
56 }
57
58
59 nocrmode()
60 {
61 /*
62 _tty.c_lflag |= ICANON;
63 _tty.c_cc[VMIN]=_res_flg.c_cc[VMIN];
64 _tty.c_cc[VTIME]=_res_flg.c_cc[VTIME];
65 */
66 _rawmode = FALSE;
67 _tty.sg_flags &= ~CBREAK;
68 ioctl(_tty_ch, TIOCSETP, &_tty);
69 }
70
71
72 echo()
73 {
74 _tty.sg_flags |= ECHO;
75 _echoit=TRUE;
76 ioctl(_tty_ch, TIOCSETP, &_tty);
77 }
78
79 noecho()
80 {
81 _tty.sg_flags &= ~ECHO;
82 _echoit = FALSE;
83 ioctl(_tty_ch, TIOCSETP, &_tty);
84 }
85
86
87 nl()
88 {
89 /*
90 VERSION 5.0
91 _tty.c_iflag |= ICRNL;
92 _tty.c_oflag |= ONLCR;
93 */
94 _tty.sg_flags |= CRMOD;
95 NONL = TRUE;
96 ioctl(_tty_ch, TIOCSETP, &_tty);
97 }
98
99
100 nonl()
101 {
102 /*
103 VERSION 5.0
104 _tty.c_iflag &= ~ICRNL;
105 _tty.c_oflag &= ~ONLCR;
106 */
107 _tty.sg_flags &= ~CRMOD;
108 NONL = FALSE;
109 ioctl(_tty_ch, TIOCSETP, &_tty);
110 }
111
112 savetty()
113 {
114 ioctl(_tty_ch, TIOCGETP, &_tty);
115 _res_flg = _tty;
116 }
117
118 resetty()
119 {
120 _tty = _res_flg;
121 ioctl(_tty_ch, TIOCSETP, &_tty);
122 }