tried to improve colors

Wed, 09 Apr 2014 18:11:51 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 09 Apr 2014 18:11:51 +0200
changeset 35
6c64b7a073af
parent 34
c4d4b8a8f902
child 36
ebe0c961e9a6

tried to improve colors

src/Makefile file | annotate | diff | comparison | revisions
src/colors.c file | annotate | diff | comparison | revisions
src/colors.h file | annotate | diff | comparison | revisions
src/game.c file | annotate | diff | comparison | revisions
src/input.c file | annotate | diff | comparison | revisions
src/input.h file | annotate | diff | comparison | revisions
src/main.c file | annotate | diff | comparison | revisions
--- a/src/Makefile	Wed Apr 09 12:07:47 2014 +0200
+++ b/src/Makefile	Wed Apr 09 18:11:51 2014 +0200
@@ -29,6 +29,7 @@
 include ../conf.mk
 
 SRC  = main.c
+SRC += colors.c
 SRC += network.c
 SRC += input.c
 SRC += server.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/colors.c	Wed Apr 09 18:11:51 2014 +0200
@@ -0,0 +1,40 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2014 Mike Becker. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "colors.h"
+#include <ncurses.h>
+
+void init_colorpairs() {
+    init_pair(COL_APP, COLOR_WHITE, COLOR_BLACK);
+    init_pair(COL_BW, COLOR_BLACK, COLOR_CYAN);
+    init_pair(COL_BB, COLOR_BLACK, COLOR_BLUE);
+    init_pair(COL_WB, COLOR_WHITE, COLOR_BLUE);
+    init_pair(COL_WW, COLOR_WHITE, COLOR_CYAN);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/colors.h	Wed Apr 09 18:11:51 2014 +0200
@@ -0,0 +1,42 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2014 Mike Becker. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef COLORS_H
+#define COLORS_H
+
+#define COL_APP 1
+#define COL_BW 2
+#define COL_WB 3
+#define COL_BB 4
+#define COL_WW 5
+
+void init_colorpairs();
+
+#endif /* COLORS_H */
+
--- a/src/game.c	Wed Apr 09 12:07:47 2014 +0200
+++ b/src/game.c	Wed Apr 09 18:11:51 2014 +0200
@@ -30,6 +30,7 @@
 #include "game.h"
 #include "network.h"
 #include "input.h"
+#include "colors.h"
 #include <ncurses.h>
 #include <string.h>
 #include <inttypes.h>
@@ -80,8 +81,13 @@
                 piecec = ' ';
             }
             
-            attrset((col == WHITE ? A_BOLD : A_DIM) |
-                COLOR_PAIR((y&1)==(x&1) ? COL_WB : COL_BW));
+            _Bool boardblack = (y&1)==(x&1);
+            attrset((col==WHITE ? A_BOLD : A_DIM)|
+                COLOR_PAIR(col == WHITE ?
+                    (boardblack ? COL_WB : COL_WW) :
+                    (boardblack ? COL_BB : COL_BW)
+                )
+            );
             
             int cy = gamestate->mycolor == WHITE ? boardy-y : boardy-7+y;
             int cx = gamestate->mycolor == WHITE ? boardx+x*3 : boardx+21-x*3;
@@ -433,6 +439,8 @@
     mvaddstr(getmaxy(stdscr)-1, 0,
         "Game has ended. Press any key to leave...");
     refresh();
+    cbreak();
+    flushinp();
     getch();
 }
 
--- a/src/input.c	Wed Apr 09 12:07:47 2014 +0200
+++ b/src/input.c	Wed Apr 09 18:11:51 2014 +0200
@@ -31,12 +31,6 @@
 #include <string.h>
 #include <ctype.h>
 
-void init_colorpairs() {
-    init_pair(COL_YB, COLOR_YELLOW, COLOR_BLUE);
-    init_pair(COL_BW, COLOR_BLACK, COLOR_WHITE);
-    init_pair(COL_WB, COLOR_WHITE, COLOR_BLACK);
-}
-
 int prompt_yesno(char *msg) {
     printw("%s (y/n)? ", msg);
     refresh();
--- a/src/input.h	Wed Apr 09 12:07:47 2014 +0200
+++ b/src/input.h	Wed Apr 09 18:11:51 2014 +0200
@@ -37,12 +37,6 @@
 extern "C" {
 #endif
 
-#define COL_YB 1
-#define COL_BW 2
-#define COL_WB 3
-
-void init_colorpairs();
-
 int prompt_yesno(char *msg);
 
 
--- a/src/main.c	Wed Apr 09 12:07:47 2014 +0200
+++ b/src/main.c	Wed Apr 09 18:11:51 2014 +0200
@@ -30,6 +30,7 @@
 #include "terminal-chess.h"
 #include "game.h"
 #include "input.h"
+#include "colors.h"
 #include <string.h>
 #include <time.h>
 #include <getopt.h>
@@ -170,7 +171,7 @@
     if (has_colors()) {
         start_color();
         init_colorpairs();
-        bkgd(COLOR_PAIR(COL_YB));
+        bkgd(COLOR_PAIR(COL_APP));
     } else {
         fprintf(stderr, "Non-colored terminals are not supported yet.");
         endwin();

mercurial