More factoring out.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 4 Feb 2005 03:40:01 +0000 (03:40 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 4 Feb 2005 03:40:01 +0000 (03:40 +0000)
io.c
sst.c

diff --git a/io.c b/io.c
index c432078371539721b1a64162b940ed191ff4505a..444a5cb2c2923e509a3702b16756d729a5fc735b 100644 (file)
--- a/io.c
+++ b/io.c
@@ -51,6 +51,11 @@ static void fastexit(int sig) {
 }
 
 void iostart(int usecurses) {
+#ifdef SERGEEV
+        textattr(7);
+        clrscr();
+        setwnd(FULLSCREEN_WINDOW);
+#else
        (void) signal(SIGINT, fastexit);
        (void) signal(SIGINT, fastexit);
 #ifdef SIGIOT
@@ -75,10 +80,13 @@ void iostart(int usecurses) {
                if (LINES)
                    screenheight = atoi(LINES);
        }
+#endif /* SERGEEV */
 }
 
 void ioend(void) {
+#ifndef SERGEEV
     outro(0);
+#endif /* SERGEEV */
 }
 
 void waitfor(void) {
@@ -291,40 +299,6 @@ void c_printf (char *format, ... )
 #endif /* SERGEEV */
 }
 
-void warble(void)
-/* sound and visual effects for teleportation */
-{
-#ifdef SERGEEV
-    int posx, posy;
-    posx=wherex();
-    posy=wherey();
-    drawmaps(1);
-    setwnd(LOWER_WINDOW);
-    gotoxy(posx,posy);
-    sound(50);
-    delay(1000);
-    nosound();
-#else
-    prouts(" . . . . . ");
-#endif /* SERGEEV */
-}
-
-void setpassword(void) {
-#ifndef SERGEEV
-       while (TRUE) {
-               scan();
-               strcpy(game.passwd, citem);
-               chew();
-               if (*game.passwd != 0) break;
-               proutn("Please type in a secret password-");
-       }
-#else
-       int i;
-        for(i=0;i<3;i++) game.passwd[i]=(char)(97+(int)(Rand()*25));
-        game.passwd[3]=0;
-#endif /* SERGEEV */
-}
-
 void cgetline(char *line, int max) {
     if (curses) {
 #ifndef SERGEEV
@@ -359,3 +333,64 @@ void setwnd(short wndnum){
 
 void commandhook(char *cmd, int before) {
 }
+
+/*
+ * Things past this point have policy implications.
+ */
+
+void drawmaps(short l) {
+/* hook to be called after moving to redraw maps */
+#ifdef SERGEEV
+     _setcursortype(_NOCURSOR);
+     if (l==1) sensor();
+     if (l!=2) setwnd(LEFTUPPER_WINDOW);
+     gotoxy(1,1);
+     strcpy(line,"s");
+     srscan(1);
+     if (l!=2){
+        setwnd(SRSCAN_WINDOW);
+        clrscr();
+        srscan(2);
+        setwnd(LRSCAN_WINDOW);
+        clrscr();
+        strcpy(line,"l");
+        lrscan();
+        _setcursortype(_NORMALCURSOR);
+     }
+#endif /* SERGEEV */
+}
+
+void warble(void)
+/* sound and visual effects for teleportation */
+{
+#ifdef SERGEEV
+    int posx, posy;
+    posx=wherex();
+    posy=wherey();
+    drawmaps(1);
+    setwnd(LOWER_WINDOW);
+    gotoxy(posx,posy);
+    sound(50);
+    delay(1000);
+    nosound();
+#else
+    prouts(" . . . . . ");
+#endif /* SERGEEV */
+}
+
+void setpassword(void) {
+#ifndef SERGEEV
+       while (TRUE) {
+               scan();
+               strcpy(game.passwd, citem);
+               chew();
+               if (*game.passwd != 0) break;
+               proutn("Please type in a secret password-");
+       }
+#else
+       int i;
+        for(i=0;i<3;i++) game.passwd[i]=(char)(97+(int)(Rand()*25));
+        game.passwd[3]=0;
+#endif /* SERGEEV */
+}
+
diff --git a/sst.c b/sst.c
index f6b86b1cedb6f876bb9d92e3747696183214e206..2e1038b0469d7b2a7a9a7f649d22e157daff8ab1 100644 (file)
--- a/sst.c
+++ b/sst.c
@@ -264,28 +264,6 @@ static void helpme(void) {
        fclose(fp);
 }
 
-void drawmaps(short l) {
-/* hook to be called after moving to redraw maps */
-#ifdef SERGEEV
-     _setcursortype(_NOCURSOR);
-     if (l==1) sensor();
-     if (l!=2) setwnd(LEFTUPPER_WINDOW);
-     gotoxy(1,1);
-     strcpy(line,"s");
-     srscan(1);
-     if (l!=2){
-        setwnd(SRSCAN_WINDOW);
-        clrscr();
-        srscan(2);
-        setwnd(LRSCAN_WINDOW);
-        clrscr();
-        strcpy(line,"l");
-        lrscan();
-        _setcursortype(_NORMALCURSOR);
-     }
-#endif /* SERGEEV */
-}
-
 static void makemoves(void) {
        int i, hitme;
         clrscr();
@@ -505,14 +483,9 @@ int main(int argc, char **argv) {
            }
        }
 
-#ifndef SERGEEV
-       iostart(usecurses);
-#else
        randomize();
-        textattr(7);
-        clrscr();
-        setwnd(FULLSCREEN_WINDOW);
-#endif /* SERGEEV */
+       iostart(usecurses);
+
        line[0] = '\0';
        for (i = optind; i < argc;  i++) {
                strcat(line, argv[i]);
@@ -543,9 +516,7 @@ int main(int argc, char **argv) {
                clrscr();
        }
        skip(1);
-#ifndef SERGEEV
        ioend();
-#endif /* SERGEEV */
        prout("May the Great Bird of the Galaxy roost upon your home planet.");
        return 0;
 }
@@ -647,14 +618,12 @@ int scan(void) {
                        return IHEOL;
                }
                cgetline(line, sizeof(line));
-#ifdef SERGEEV
                 fflush(stdin);
                 if (curwnd==BOTTOM_WINDOW){
                    clrscr();
                    setwnd(LOWER_WINDOW);
                    clrscr();
                 }
-#endif /* SERGEEV */
                linep = line;
        }
        // Skip leading white space