From 170a9d818250f12e611b00634d1bfc397bd29909 Mon Sep 17 00:00:00 2001 From: jdc Date: Sat, 2 Jul 2005 15:48:03 +0000 Subject: Tidy up curses state when we quit, instead of just doing exit(). --- dab/human.cc | 9 +++++++-- dab/main.cc | 8 +++++--- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'dab') diff --git a/dab/human.cc b/dab/human.cc index 79ceeb74..9ad042c9 100644 --- a/dab/human.cc +++ b/dab/human.cc @@ -1,4 +1,4 @@ -/* $NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ +/* $NetBSD: human.cc,v 1.2 2005/07/02 15:48:03 jdc Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -40,14 +40,17 @@ * human.C: Human interface for dots, using rogue-like keys. */ #include "defs.h" -RCSID("$NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") +RCSID("$NetBSD: human.cc,v 1.2 2005/07/02 15:48:03 jdc Exp $") #include "human.h" #include "board.h" #include "box.h" +#include "ttyscrn.h" #define CONTROL(a) ((a) & 037) +extern GAMESCREEN *sc; + HUMAN::HUMAN(const char c) : PLAYER(c), _curx(0), @@ -99,6 +102,8 @@ void HUMAN::play(const BOARD& b, size_t& y, size_t& x, int& dir) break; case 'q': case 'Q': + // Cleanup + delete sc; exit(0); case CONTROL('L'): case CONTROL('R'): diff --git a/dab/main.cc b/dab/main.cc index 399aa83f..73250709 100644 --- a/dab/main.cc +++ b/dab/main.cc @@ -1,4 +1,4 @@ -/* $NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $ */ +/* $NetBSD: main.cc,v 1.3 2005/07/02 15:48:03 jdc Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -40,7 +40,7 @@ * main.C: Main dots program */ #include "defs.h" -RCSID("$NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $") +RCSID("$NetBSD: main.cc,v 1.3 2005/07/02 15:48:03 jdc Exp $") #include #include @@ -52,6 +52,8 @@ RCSID("$NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $") #include "human.h" #include "ttyscrn.h" +GAMESCREEN *sc; + // Print the command line usage static void usage(char* pname) { @@ -173,7 +175,7 @@ int main(int argc, char** argv) } } - GAMESCREEN *sc = TTYSCRN::create(acs, ny, nx); + sc = TTYSCRN::create(acs, ny, nx); if (sc == NULL) ::errx(1, "Dimensions too large for current screen."); -- cgit v1.2.3-56-ge451