X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/a71393a423c7482e64d77207e75b5fe05c63a6c6..ae987621fe3f97469837617481d558ae8a66683f:/tetris/screen.c diff --git a/tetris/screen.c b/tetris/screen.c index 1babdb49..bc065aaa 100644 --- a/tetris/screen.c +++ b/tetris/screen.c @@ -1,4 +1,4 @@ -/* $NetBSD: screen.c,v 1.30 2015/07/07 22:53:25 nat Exp $ */ +/* $NetBSD: screen.c,v 1.33 2017/03/20 22:05:27 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -197,6 +197,7 @@ scr_set(void) MINCOLS, MINROWS); stop(""); /* stop() supplies \n */ } + Offset = (Rows - D_LAST + D_FIRST - 2) / 2; if (tcgetattr(0, &oldtt) < 0) stop("tcgetattr() fails"); newtt = oldtt; @@ -211,10 +212,11 @@ scr_set(void) * We made it. We are now in screen mode, modulo TIstr * (which we will fix immediately). */ - if (enter_ca_mode) - putstr(enter_ca_mode); - if (cursor_invisible) - putstr(cursor_invisible); + const char *tstr; + if ((tstr = enter_ca_mode) != NULL) + putstr(tstr); + if ((tstr = cursor_invisible) != NULL) + putstr(tstr); if (tstp != SIG_IGN) (void) signal(SIGTSTP, scr_stop); if (ttou != SIG_IGN) @@ -238,15 +240,16 @@ scr_end(void) sigaddset(&nsigset, SIGTTOU); (void) sigprocmask(SIG_BLOCK, &nsigset, &osigset); /* move cursor to last line */ - if (cursor_to_ll) - putstr(cursor_to_ll); + const char *tstr; + if ((tstr = cursor_to_ll) != NULL) + putstr(tstr); else moveto(Rows - 1, 0); /* exit screen mode */ - if (exit_ca_mode) - putstr(exit_ca_mode); - if (cursor_normal) - putstr(cursor_normal); + if ((tstr = exit_ca_mode) != NULL) + putstr(tstr); + if ((tstr = cursor_normal) != NULL) + putstr(tstr); (void) fflush(stdout); (void) tcsetattr(0, TCSADRAIN, &oldtt); isset = 0; @@ -330,8 +333,8 @@ scr_update(void) putstr("Next shape:"); /* draw */ - putpad(enter_standout_mode); setcolor(nextshape->color); + putpad(enter_standout_mode); moveto(r, 2*c); putstr(" "); for(i=0; i<3; i++) { @@ -360,7 +363,7 @@ scr_update(void) putpad(exit_standout_mode); cur_so = 0; } - moveto(RTOD(j), CTOD(i)); + moveto(RTOD(j + Offset), CTOD(i)); } if (enter_standout_mode) { if (so != cur_so) {