]> git.cameronkatri.com Git - bsdgames-darwin.git/commitdiff
if 0 is used for the dimensions, compute the maximum size.
authorchristos <christos@NetBSD.org>
Sat, 6 Oct 2012 19:39:51 +0000 (19:39 +0000)
committerchristos <christos@NetBSD.org>
Sat, 6 Oct 2012 19:39:51 +0000 (19:39 +0000)
dab/dab.6
dab/main.cc
dab/ttyscrn.cc
dab/ttyscrn.h

index 43a9af5157893d72d683bda5a67a5bc767b6d8ef..039c79aa91e1907ebf7f8220f248fb1129b648af 100644 (file)
--- a/dab/dab.6
+++ b/dab/dab.6
@@ -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 97d93eaaba97f9f81e74ab89a35ae6433c200d9e..49a8850b26b8ba411d3a147b98b06eb871137b8b 100644 (file)
@@ -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 c0234cba6be81830fae425cf9185fd7686df44cc..eeed5fb3c1ee8c753b7f6bb869a9bbc34f220898 100644 (file)
@@ -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 y, size_t x)
     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 3d3e87f516bdec892bb8a17ab5062ec044878231..addd91ed03b1714ae4f3fc6d342d95c436f450c2 100644 (file)
@@ -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