if(signal(SIGQUIT,SIG_IGN) != SIG_IGN)
(void)signal(SIGQUIT,fastexit);
-#ifndef SERGEEV
- if (curses = usecurses) {
-#else /* SERGEEV */
if ((curses = usecurses)) {
-#endif /* SERGEEV */
(void)initscr();
#ifdef KEY_MIN
keypad(stdscr, TRUE);
}
void pause_game(int i) {
+ char *prompt;
#ifndef SERGEEV
- char buf[BUFSIZ], *prompt;
+ char buf[BUFSIZ];
#else /* SERGEEV */
- char *prompt;
drawmaps(0);
setwnd(5);
#endif /* SERGEEV */
wrefresh(stdscr);
} else {
putchar('\n');
- prout(prompt);
+ proutn(prompt);
fgets(buf, sizeof(buf), stdin);
if (i != 0) {
clearscreen();
}
static void vproutn(char *fmt, va_list ap) {
- char *strbuf, *p, *s;
- vasprintf(&strbuf, fmt, ap);
- p=s=strbuf;
+ char *s, *p;
+ vasprintf(&s, fmt, ap);
+ p=s;
if ((curwnd==4)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){
- if (strchr(strbuf,'\n')){
- p=strchr(strbuf,'\n');
+ if (strchr(s,'\n')) {
+ p=strchr(s,'\n');
p[0]=0;
- cprintf("%s",strbuf);
+ cprintf("%s",s);
p++;
pause_game(0);
}
// setwnd(curwnd);
if (strchr(s,'\n') || strchr(s,'\r')) clreol();
cprintf("%s",p);
- free(strbuf);
+ free(s);
#endif /* SERGEEV */
}
}
static void vprouts(char *fmt, va_list ap) {
- char *s;
+ char *s, *p;
vasprintf(&s, fmt, ap);
- while (*s) {
- prchr(s++);
+ p=s;
+ while (*p) {
+ prchr(p++);
delay(30);
}
free(s);
#endif /* SERGEEV */
}
-#ifndef SERGEEV
-void getline(char *line, int max) {
-#else /* SERGEEV */
-void cgetline(char *line, int max) {
+void warble(void)
+/* sound and visual effects for teleportation */
+{
+#ifdef SERGEEV
+ int posx, posy;
+ posx=wherex();
+ posy=wherey();
+ drawmaps(1);
+ setwnd(4);
+ gotoxy(posx,posy);
+ sound(50);
+ delay(1000);
+ nosound();
+#else
+ prouts(" . . . . . ");
#endif /* SERGEEV */
+}
+
+void getline(char *line, int max) {
if (curses) {
#ifndef SERGEEV
wgetnstr(stdscr, line, max);