Module Name:    src
Committed By:   christos
Date:           Sat Oct  6 19:39:51 UTC 2012

Modified Files:
        src/games/dab: dab.6 main.cc ttyscrn.cc ttyscrn.h

Log Message:
if 0 is used for the dimensions, compute the maximum size.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/games/dab/dab.6 src/games/dab/main.cc
cvs rdiff -u -r1.4 -r1.5 src/games/dab/ttyscrn.cc
cvs rdiff -u -r1.3 -r1.4 src/games/dab/ttyscrn.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/games/dab/dab.6
diff -u src/games/dab/dab.6:1.5 src/games/dab/dab.6:1.6
--- src/games/dab/dab.6:1.5	Fri Jan 15 14:39:10 2010
+++ src/games/dab/dab.6	Sat Oct  6 15:39:51 2012
@@ -1,4 +1,4 @@
-.\"	$NetBSD: dab.6,v 1.5 2010/01/15 19:39:10 joerg Exp $
+.\"	$NetBSD: dab.6,v 1.6 2012/10/06 19:39:51 christos Exp $
 .\"
 .\" Copyright (c) 2003 Thomas Klausner.
 .\"
@@ -22,7 +22,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd December 24, 2003
+.Dd October 7, 2012
 .Dt DAB 6
 .Os
 .Sh NAME
@@ -95,6 +95,10 @@ and
 .Ar ydim
 define the size of the board in the x and y
 dimensions.
+If the dimensions specified are
+.Dv 0
+then the maximum dimensions for the size of the screen are
+used.
 .Sh SEE ALSO
 .Rs
 .%A Elwyn R. Berlekamp
Index: src/games/dab/main.cc
diff -u src/games/dab/main.cc:1.5 src/games/dab/main.cc:1.6
--- src/games/dab/main.cc:1.5	Mon Apr 28 16:22:54 2008
+++ src/games/dab/main.cc	Sat Oct  6 15:39:51 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.cc,v 1.5 2008/04/28 20:22:54 martin Exp $	*/
+/*	$NetBSD: main.cc,v 1.6 2012/10/06 19:39:51 christos Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
  * main.C: Main dots program
  */
 #include "defs.h"
-RCSID("$NetBSD: main.cc,v 1.5 2008/04/28 20:22:54 martin Exp $")
+RCSID("$NetBSD: main.cc,v 1.6 2012/10/06 19:39:51 christos Exp $")
 
 #include <stdio.h>
 #include <unistd.h>
@@ -168,7 +168,7 @@ int main(int argc, char** argv)
 	}
     }
 
-    sc = TTYSCRN::create(acs, ny, nx);
+    sc = TTYSCRN::create(acs, &ny, &nx);
     if (sc == NULL)
 	::errx(1, "Dimensions too large for current screen.");
 

Index: src/games/dab/ttyscrn.cc
diff -u src/games/dab/ttyscrn.cc:1.4 src/games/dab/ttyscrn.cc:1.5
--- src/games/dab/ttyscrn.cc:1.4	Mon Apr 28 16:22:54 2008
+++ src/games/dab/ttyscrn.cc	Sat Oct  6 15:39:51 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttyscrn.cc,v 1.4 2008/04/28 20:22:54 martin Exp $	*/
+/*	$NetBSD: ttyscrn.cc,v 1.5 2012/10/06 19:39:51 christos Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include "defs.h"
-RCSID("$NetBSD: ttyscrn.cc,v 1.4 2008/04/28 20:22:54 martin Exp $")
+RCSID("$NetBSD: ttyscrn.cc,v 1.5 2012/10/06 19:39:51 christos Exp $")
 
 #include <stdio.h>
 #include <curses.h>
@@ -191,7 +191,7 @@ void TTYSCRN::ties(const PLAYER& p)
     mvwprintw(stdscr, _sy + TTYSCRN::offsties, _sx, "G =:%5zd", p.getTies());
 }
 
-TTYSCRN* TTYSCRN::create(int acs, size_t y, size_t x)
+TTYSCRN* TTYSCRN::create(int acs, size_t *y, size_t *x)
 {
     int tx, ty;
 
@@ -201,11 +201,15 @@ TTYSCRN* TTYSCRN::create(int acs, size_t
     ty = getmaxy(stdscr);
 
     if (tx == ERR || ty == ERR
-	|| static_cast<size_t>(tx) < x * 2 + TTYSCRN::offsx + 12
-	|| static_cast<size_t>(ty) < y * 2 + TTYSCRN::offsy) {
+	|| static_cast<size_t>(tx) < *x * 2 + TTYSCRN::offsx + 14
+	|| static_cast<size_t>(ty) < *y * 2 + TTYSCRN::offsy) {
 	endwin();
 	return NULL;
     }
+    if (*x == 0)
+	*x = (tx - 14 - TTYSCRN::offsx) / 2;
+    if (*y == 0)
+	*y = (ty - TTYSCRN::offsy) / 2;
     cbreak();
     noecho();
 

Index: src/games/dab/ttyscrn.h
diff -u src/games/dab/ttyscrn.h:1.3 src/games/dab/ttyscrn.h:1.4
--- src/games/dab/ttyscrn.h:1.3	Mon Apr 28 16:22:54 2008
+++ src/games/dab/ttyscrn.h	Sat Oct  6 15:39:51 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttyscrn.h,v 1.3 2008/04/28 20:22:54 martin Exp $	*/
+/*	$NetBSD: ttyscrn.h,v 1.4 2012/10/06 19:39:51 christos Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
 class TTYSCRN : public GAMESCREEN {
   public:
     // Constructor that can fail
-    static TTYSCRN*  create(int acs, size_t y, size_t x);
+    static TTYSCRN*  create(int acs, size_t *y, size_t *x);
     ~TTYSCRN();
 
     // Screen virtuals

Reply via email to