<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bdbff4e814f50d4dbddf1a37bd372ca4337638c8">https://github.com/macports/macports-ports/commit/bdbff4e814f50d4dbddf1a37bd372ca4337638c8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new bdbff4e cheops: Update to 1.2
</span>bdbff4e is described below
<span style='display:block; white-space:pre;color:#808000;'>commit bdbff4e814f50d4dbddf1a37bd372ca4337638c8
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue Nov 29 08:10:24 2016 -0600
<span style='display:block; white-space:pre;color:#404040;'> cheops: Update to 1.2
</span>---
games/cheops/Portfile | 17 ++-
games/cheops/files/libc++.patch | 237 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 245 insertions(+), 9 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/cheops/Portfile b/games/cheops/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 94d31e7..f3ebd1c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/games/cheops/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/cheops/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,9 +1,9 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name cheops
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup logological cheops 1.2
</span> categories games
platforms darwin
license GPL-2+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,14 +18,13 @@ long_description CHEOPS (CHEss OPponent Simulator) is a fully-functional \
</span> tree search is alpha-beta, and the static evaluation \
function considers material, mobility, and motif features.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage http://www.nothingisreal.com/cheops/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites sunsite:games/chess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://logological.org/cheops
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites https://files.nothingisreal.com/software/cheops/
</span> use_bzip2 yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums md5 ced2dba9d0d6de77d538e04ff2909969
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 8cbbce1608aea58d36d4c157c2ff48159ce5b593 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 60aabc9f193d62028424de052c0618bb19ee2ccfa6a99b74a33968eba4c8abad
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args --mandir=\\\${prefix}/share/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles libc++.patch
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url http://files.nothingisreal.com/software/cheops/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex ${name}-(\[0-9.\]+)\\.tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args --disable-silent-rules
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/cheops/files/libc++.patch b/games/cheops/files/libc++.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d698ab8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/cheops/files/libc++.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,237 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix build with libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+error: reference to 'move' is ambiguous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/logological/cheops/issues/1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ChessBoard.cpp.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ChessBoard.cpp 2016-11-29 07:59:09.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -401,7 +401,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - returns a list of all squares where the king may move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ChessBoard::mobility_king(int from) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.from=from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -457,7 +457,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - returns a list of all squares where the knight may move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ChessBoard::mobility_knight(int from) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.from=from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -482,7 +482,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - returns a list of all squares where the pawn may move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ChessBoard::mobility_pawn(int from) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.from=from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -540,7 +540,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - returns a list of all squares where the rook may move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ChessBoard::mobility_rook(int from) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.from=from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -568,7 +568,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - returns a list of all squares where the bishop may move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ChessBoard::mobility_bishop(int from) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list ml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m.from=from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -681,7 +681,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Determine whether the given move puts one's own king in check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-bool ChessBoard::causes_check(const move& m) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++bool ChessBoard::causes_check(const cheops_move& m) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool w_turn=is_white(square[m.from]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ChessBoard c=*this;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ piece_type promotion=m.promotion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ChessBoard.h.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ChessBoard.h 2016-11-29 07:58:37.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,10 +38,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtual ~ChessBoard();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void print(ostream *os) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool can_move(int from, int to, piece_type promotion=Empty) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool can_move(const move &m) const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool can_move(const cheops_move &m) const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {return can_move(m.from, m.to, m.promotion);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ game_status do_move(int from, int to, piece_type promotion=Empty);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- game_status do_move(const move& m)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ game_status do_move(const cheops_move& m)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {return do_move(m.from, m.to, m.promotion);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool white_moves(void) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static bool show_reverse;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -68,7 +68,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool triple_occurrence(void) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool is_attacked(bool by_white, int to) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool causes_check(const move& m) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool causes_check(const cheops_move& m) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool is_in_check(bool white) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool is_black(piece_type p) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool is_white(piece_type p) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ComputerPlayer.cpp.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ComputerPlayer.cpp 2016-11-29 07:58:04.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -141,7 +141,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ string ComputerPlayer::get_command(const ChessBoard &b) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (b.in_progress) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move mv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move mv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long v=alphabeta(b, ply,-LONG_MAX,LONG_MAX,mv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // To offer draw:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // if v<DRAW_THRESHOLD && haven't_offered_draw_in_a_while then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -296,7 +296,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Alpha beta game tree search
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long ComputerPlayer::alphabeta(const ChessBoard &b, long depth, long alpha,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- long beta, move &chosen_move) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ long beta, cheops_move &chosen_move) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (depth==0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return get_score(b);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -305,7 +305,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return get_score(b);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long best_score=-LONG_MAX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move best_move=*(moves.begin());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move best_move=*(moves.begin());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (move_list::iterator i=moves.begin();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i!=moves.end() && best_score<beta; ++i) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ChessBoard c=b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ComputerPlayer.h.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ComputerPlayer.h 2016-11-29 07:57:47.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -78,7 +78,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int manhattan(int from, int to) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_list get_all_moves(const ChessBoard &b) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long get_score(const ChessBoard &b) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- long alphabeta(const ChessBoard &b, long depth, long alpha, long beta, move &chosen_move) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ long alphabeta(const ChessBoard &b, long depth, long alpha, long beta, cheops_move &chosen_move) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool adjacent_friendly_pawns(const ChessBoard &b, int sq) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long rook_mobility(const ChessBoard &b, int from) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long bishop_mobility(const ChessBoard &b, int from) const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/cheops.cpp.orig 2015-02-01 15:14:00.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/cheops.cpp 2016-11-29 07:59:57.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +33,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cstring>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void show_menu(void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-move *parse_move(const string& s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cheops_move *parse_move(const string& s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void who_plays(Player *&w, Player *&b);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void show_help(void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void show_version(void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -44,7 +44,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Player *w_player=NULL, *b_player=NULL, *this_player;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ string cmd, log;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ game_status status=Normal;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move *m = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move *m = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int turn=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Process command-line parameters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -123,14 +123,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Kingside castling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (cmd=="o-o") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- m = new move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ m = new cheops_move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->from=this_player==w_player?e1:e8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->to=this_player==w_player?g1:g8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Queenside castling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (cmd=="o-o-o") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- m = new move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ m = new cheops_move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->promotion=Empty;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->from=this_player==w_player?e1:e8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m->to=this_player==w_player?c1:c8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -208,9 +208,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Parse move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// - returns pointer to a move structure on success, else NULL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// - returns pointer to a cheops_move structure on success, else NULL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-move *parse_move(const string& s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cheops_move *parse_move(const string& s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Is this a valid move string?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int len=s.length();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -221,7 +221,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Determine promotion type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- move *m = new move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cheops_move *m = new cheops_move;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (len==5) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch(s[4]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'q':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/move.cpp.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/move.cpp 2016-11-29 07:57:13.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // $Id: move.cpp 40 2015-02-01 20:56:15Z psy $
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// move.cpp: implementation of the move struct.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// move.cpp: implementation of the cheops_move struct.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Copyright (C) 2003 Tristan Miller <psychonaut@nothingisreal.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Print move (<< operator overload)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ostream &operator<<(ostream &os, const move &m) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ostream &operator<<(ostream &os, const cheops_move &m) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return os << (string)m;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Cast move to string
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // -------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-move::operator string() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cheops_move::operator string() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static char s[6]="\0\0\0\0\0";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s[0] = (char)(ChessBoard::which_file(this->from)+'a');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s[1] = (char)(ChessBoard::which_rank(this->from)+'1');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/move.h.orig 2015-02-01 14:56:15.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/move.h 2016-11-29 07:57:25.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // $Id: move.h 40 2015-02-01 20:56:15Z psy $
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// move.h: interface for the move struct.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// move.h: interface for the cheops_move struct.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Copyright (C) 2003 Tristan Miller <psychonaut@nothingisreal.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,15 +26,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ChessTypes.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-struct move {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct cheops_move {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int to;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ piece_type promotion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ operator string() const;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-typedef list<move> move_list;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef list<cheops_move> move_list;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ostream &operator<<(ostream &os, const move &m);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ostream &operator<<(ostream &os, const cheops_move &m);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif // !defined(AFX_MOVE_H__EBEFC224_5256_11D3_BC7B_0080C84DB68D__INCLUDED_)
</span></pre><pre style='margin:0'>
</pre>