[BACK]Return to cx.h CVS log [TXT][DIR] Up to [contributed] / early-roguelike / srogue

Annotation of early-roguelike/srogue/cx.h, Revision 1.1

1.1     ! rubenllo    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       <stdio.h>
        !            10: #include       <sgtty.h>
        !            11:
        !            12: #define        bool    char            /* boolean variable     */
        !            13: #define        reg     register        /* register abbr.       */
        !            14:
        !            15: #define        TRUE    (1)
        !            16: #define        FALSE   (0)
        !            17: #define        ERR     (0)     /* default return on error      */
        !            18: #define        OK      (1)     /* default return on good run   */
        !            19:
        !            20: #define        _SUBWIN 01      /* window is a subwindow        */
        !            21: #define        _ENDLINE 02     /* lines go to end of screen    */
        !            22: #define        _FULLWIN 04     /* window is entire screen      */
        !            23: #define        _SCROLLWIN 010  /* window could cause scroll    */
        !            24: #define        _STANDOUT 0200  /* standout mode in effect      */
        !            25: #define        _NOCHANGE -1    /* no change on this line       */
        !            26:
        !            27: #define        _puts(s)        tputs(s, 0, _putchar);
        !            28:
        !            29: typedef        struct sgttyb   SGTTY;
        !            30:
        !            31: #ifndef WINDOW
        !            32:
        !            33: #define        WINDOW  struct _win_st
        !            34:
        !            35: /* window description structure                */
        !            36: struct _win_st {
        !            37:     short _cury, _curx;                /* current y,x positions */
        !            38:     short _maxy, _maxx;                /* maximum y,x positions */
        !            39:     short _begy, _begx;                /* start y,x positions   */
        !            40:     short _flags;              /* various window flags  */
        !            41:     bool _clear;               /* need to clear         */
        !            42:     bool _leave;               /* leave cur x,y at last update */
        !            43:     bool _scroll;              /* scrolls allowed      */
        !            44:     char **_y;                 /* actual window        */
        !            45:     short *_firstch;           /* first change on line */
        !            46:     short *_lastch;            /* last change on line  */
        !            47: };
        !            48:
        !            49: extern bool My_term,   /* user specied terminal        */
        !            50:            _echoit,    /* set if echoing characters    */
        !            51:            _rawmode;   /* set if terminal in raw mode  */
        !            52:
        !            53: extern char *Def_term, /* default terminal type        */
        !            54:            ttytype[];  /* long name of current term    */
        !            55: # ifdef DEBUG
        !            56: extern FILE *outf;     /* error outfile                */
        !            57: # endif
        !            58:
        !            59: extern int LINES, COLS;        /* # of lines & columns         */
        !            60: extern int _tty_ch;    /* channel with tty on it       */
        !            61: extern WINDOW *stdscr, *curscr;
        !            62:
        !            63: static SGTTY _tty, _res_flg;
        !            64:
        !            65: /*
        !            66:  * Define VOID to stop lint from generating "null effect"
        !            67:  * comments.
        !            68:  */
        !            69: # ifdef lint
        !            70: int    __void__;       /* place to assign to           */
        !            71:
        !            72: # define       VOID(x) (__void__ = (int) (x))
        !            73: # else
        !            74: # define       VOID(x) (x)
        !            75: # endif
        !            76:
        !            77: # endif
        !            78:
        !            79: /*
        !            80:  * psuedo functions for standard screen
        !            81:  */
        !            82: #define        addch(ch)       VOID(waddch(stdscr, ch))
        !            83: #define        getch()         VOID(wgetch(stdscr))
        !            84: #define        addstr(str)     VOID(waddstr(stdscr, str))
        !            85: #define        getstr(str)     VOID(wgetstr(stdscr, str))
        !            86: #define        move(y, x)      VOID(wmove(stdscr, y, x))
        !            87: #define        clear()         VOID(wclear(stdscr))
        !            88: #define        erase()         VOID(werase(stdscr))
        !            89: #define        clrtobot()      VOID(wclrtobot(stdscr))
        !            90: #define        clrtoeol()      VOID(wclrtoeol(stdscr))
        !            91: #define        insertln()      VOID(winsertln(stdscr))
        !            92: #define        deleteln()      VOID(wdeleteln(stdscr))
        !            93: #define        refresh()       VOID(wrefresh(stdscr))
        !            94: #define        inch()          VOID(winch(stdscr))
        !            95:
        !            96: #ifdef STANDOUT
        !            97: #define        standout()      VOID(wstandout(stdscr))
        !            98: #define        standend()      VOID(wstandend(stdscr))
        !            99: #endif
        !           100:
        !           101: /*
        !           102: # define       CBREAK  FALSE
        !           103: # define       _IOSTRG 01
        !           104: */
        !           105:
        !           106: /*
        !           107:  * mv functions
        !           108:  */
        !           109: #define        mvwaddch(win,y,x,ch)    VOID(wmove(win,y,x)==ERR?ERR:waddch(win,ch))
        !           110: #define        mvwgetch(win,y,x,ch)    VOID(wmove(win,y,x)==ERR?ERR:wgetch(win,ch))
        !           111: #define        mvwaddstr(win,y,x,str)  VOID(wmove(win,y,x)==ERR?ERR:waddstr(win,str))
        !           112: #define        mvwgetstr(win,y,x,str)  VOID(wmove(win,y,x)==ERR?ERR:wgetstr(win,str))
        !           113: #define        mvwinch(win,y,x)        VOID(wmove(win,y,x) == ERR ? ERR : winch(win))
        !           114: #define        mvaddch(y,x,ch)         mvwaddch(stdscr,y,x,ch)
        !           115: #define        mvgetch(y,x,ch)         mvwgetch(stdscr,y,x,ch)
        !           116: #define        mvaddstr(y,x,str)       mvwaddstr(stdscr,y,x,str)
        !           117: #define        mvgetstr(y,x,str)       mvwgetstr(stdscr,y,x,str)
        !           118: #define        mvinch(y,x)             mvwinch(stdscr,y,x)
        !           119:
        !           120: /*
        !           121:  * psuedo functions
        !           122:  */
        !           123:
        !           124: #define        clearok(win,bf)  (win->_clear = bf)
        !           125: #define        leaveok(win,bf)  (win->_leave = bf)
        !           126: #define        scrollok(win,bf) (win->_scroll = bf)
        !           127: #define        getyx(win,y,x)   y = win->_cury, x = win->_curx
        !           128: #define        winch(win)       (win->_y[win->_cury][win->_curx])
        !           129:
        !           130: WINDOW *initscr(), *newwin();

CVSweb