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