initial interface requests
[netris.git] / board.c
diff --git a/board.c b/board.c
index 97f1124fe318bda0ffdd10b5b304472900005b7a..245cea1d43eb6194f697f82c8488a840f0d59864 100644 (file)
--- a/board.c
+++ b/board.c
@@ -1,6 +1,6 @@
 /*
- * Netris -- A free networked version of Tetris
- * Copyright (C) 1994,1995  Mark Weaver <Mark_Weaver@brown.edu>
+ * Netris -- A free networked version of T*tris
+ * Copyright (C) 1994-1996,1999  Mark H. Weaver <mhw@netris.org>
  * 
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -16,7 +16,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: board.c,v 1.13 1995/07/11 08:53:20 mhw Exp $
+ * $Id: board.c,v 1.15 1999/05/16 06:56:24 mhw Exp $
  */
 
 #include "netris.h"
@@ -104,6 +104,12 @@ ExtFunc int RefreshBoard(int scr)
        return any;
 }
 
+ExtFunc int GlanceFunc(int scr, int y, int x, BlockType type, void *data)
+{
+       PlotBlock1(scr, y, x, type);
+       return 0;
+}
+
 ExtFunc int PlotFunc(int scr, int y, int x, BlockType type, void *data)
 {
        SetBlock(scr, y, x, type);
@@ -161,14 +167,15 @@ ExtFunc int MovePiece(int scr, int deltaY, int deltaX)
        return result;
 }
 
-ExtFunc int RotatePiece(int scr)
+ExtFunc int RotatePiece(int scr, int dir)
 {
        int result;
 
        EraseShape(curShape[scr], scr, curY[scr], curX[scr]);
-       result = ShapeFits(curShape[scr]->rotateTo, scr, curY[scr], curX[scr]);
+       result = ShapeFits(dir ? curShape[scr]->rotateTo : curShape[scr]->rotateFrom,
+               scr, curY[scr], curX[scr]);
        if (result)
-               curShape[scr] = curShape[scr]->rotateTo;
+               curShape[scr] = dir ? curShape[scr]->rotateTo : curShape[scr]->rotateFrom;
        PlotShape(curShape[scr], scr, curY[scr], curX[scr], 1);
        return result;
 }
@@ -237,7 +244,11 @@ ExtFunc void InsertJunk(int scr, int count, int column)
                CopyLine(scr, y, y + count);
        for (y = 0; y < count; ++y)
                for (x = 0; x < boardWidth[scr]; ++x)
-                       SetBlock(scr, y, x, (x == column) ? BT_none : BT_piece1);
+                       SetBlock(scr, y, x, (x == column) ? BT_none : BT_white);
        curY[scr] += count;
 }
 
+/*
+ * vi: ts=4 ai
+ * vim: noai si
+ */