-.\" $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.
.\"
.\" (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
.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
-/* $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.
* 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>
}
}
- sc = TTYSCRN::create(acs, ny, nx);
+ sc = TTYSCRN::create(acs, &ny, &nx);
if (sc == NULL)
::errx(1, "Dimensions too large for current screen.");
-/* $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.
*/
#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>
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;
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();
-/* $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.
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