diff -Naur src-1.4/.depend src-1.4.1/.depend
--- src-1.4/.depend	1970-01-01 01:00:00.000000000 +0100
+++ src-1.4.1/.depend	2006-07-01 22:38:13.667791000 +0200
@@ -0,0 +1,50 @@
+adapter.o: adapter.cpp adapter.h util.h board.h colour.h square.h book.h \
+  engine.h io.h fen.h game.h move.h line.h main.h move_do.h move_legal.h \
+  list.h option.h parse.h san.h uci.h
+attack.o: attack.cpp board.h colour.h util.h square.h move.h attack.h \
+  piece.h
+board.o: board.cpp attack.h board.h colour.h util.h square.h fen.h hash.h \
+  list.h move.h move_do.h move_gen.h move_legal.h piece.h
+book.o: book.cpp board.h colour.h util.h square.h book.h move.h \
+  move_legal.h list.h san.h
+book_make.o: book_make.cpp board.h colour.h util.h square.h book_make.h \
+  move.h move_do.h move_legal.h list.h pgn.h san.h
+book_merge.o: book_merge.cpp book_merge.h util.h
+colour.o: colour.cpp colour.h util.h
+engine.o: engine.cpp engine.h io.h util.h option.h
+epd.o: epd.cpp board.h colour.h util.h square.h engine.h io.h epd.h fen.h \
+  line.h move.h move_legal.h list.h option.h parse.h san.h uci.h
+fen.o: fen.cpp board.h colour.h util.h square.h fen.h option.h piece.h
+game.o: game.cpp attack.h board.h colour.h util.h square.h fen.h game.h \
+  move.h list.h move_do.h move_legal.h piece.h
+hash.o: hash.cpp board.h colour.h util.h square.h hash.h piece.h random.h
+io.o: io.cpp io.h util.h
+line.o: line.cpp board.h colour.h util.h square.h line.h move.h move_do.h \
+  move_legal.h list.h san.h
+list.o: list.cpp board.h colour.h util.h square.h list.h move.h
+main.o: main.cpp adapter.h util.h attack.h board.h colour.h square.h \
+  book.h book_make.h book_merge.h engine.h io.h epd.h fen.h hash.h list.h \
+  move.h main.h move_gen.h option.h piece.h search.h uci.h line.h
+move.o: move.cpp attack.h board.h colour.h util.h square.h list.h move.h \
+  move_do.h move_gen.h move_legal.h option.h piece.h
+move_do.o: move_do.cpp board.h colour.h util.h square.h hash.h move.h \
+  move_do.h move_legal.h list.h piece.h random.h
+move_gen.o: move_gen.cpp attack.h board.h colour.h util.h square.h list.h \
+  move.h move_gen.h move_legal.h piece.h
+move_legal.o: move_legal.cpp attack.h board.h colour.h util.h square.h \
+  fen.h list.h move.h move_do.h move_gen.h move_legal.h piece.h
+option.o: option.cpp option.h util.h
+parse.o: parse.cpp parse.h util.h
+pgn.o: pgn.cpp pgn.h util.h
+piece.o: piece.cpp colour.h util.h piece.h
+posix.o: posix.cpp posix.h util.h
+random.o: random.cpp random.h util.h
+san.o: san.cpp attack.h board.h colour.h util.h square.h list.h move.h \
+  move_gen.h move_legal.h piece.h san.h
+search.o: search.cpp attack.h board.h colour.h util.h square.h engine.h \
+  io.h fen.h line.h move.h list.h move_do.h move_gen.h move_legal.h \
+  option.h parse.h san.h search.h uci.h
+square.o: square.cpp colour.h util.h square.h
+uci.o: uci.cpp board.h colour.h util.h square.h engine.h io.h move.h \
+  move_do.h move_legal.h list.h option.h parse.h line.h uci.h
+util.o: util.cpp main.h util.h posix.h
diff -Naur src-1.4/main.cpp src-1.4.1/main.cpp
--- src-1.4/main.cpp	2006-01-16 08:05:21.000000000 +0100
+++ src-1.4.1/main.cpp	2006-07-01 22:32:14.689356000 +0200
@@ -32,7 +32,7 @@
 
 // constants
 
-static const char * const Version = "1.4";
+static const char * const Version = "1.4.1";
 
 static const bool BlockSignal = false; // true on Windows
 
@@ -72,6 +72,7 @@
 
    util_init();
    printf("PolyGlot %s by Fabien Letouzey\n",Version);
+   printf(" -- ScoreWhite patch by Alexander Wagner\n");
 
    option_init();
 
diff -Naur src-1.4/option.cpp src-1.4.1/option.cpp
--- src-1.4/option.cpp	2005-08-12 15:25:47.000000000 +0200
+++ src-1.4.1/option.cpp	2006-07-01 22:32:14.697357000 +0200
@@ -56,6 +56,7 @@
    { "KibitzDelay",   NULL, }, // seconds
 
    { "ShowPonder",    NULL, }, // true/false
+   { "ScoreWhite",    NULL, }, // true/false
 
    // work-arounds
 
@@ -111,6 +112,7 @@
    option_set("KibitzDelay","5");
 
    option_set("ShowPonder","true");
+   option_set("ScoreWhite","false");
 
    // work-arounds
 
diff -Naur src-1.4/uci.cpp src-1.4.1/uci.cpp
--- src-1.4/uci.cpp	2005-08-12 15:25:47.000000000 +0200
+++ src-1.4.1/uci.cpp	2006-07-01 22:31:18.017815000 +0200
@@ -807,7 +807,23 @@
 
          n = atoi(argument);
 
-         uci->score = n;
+         // UCI standard defines: score is given from the side to move
+         // ie. a + score is good for Black if Black is on the move.
+         // To use UCI-engines for analysis or automatic annoations
+         // it is better though to return advantage for white as
+         // positive, advantage for black as negative numbers.
+         // => check who is on the move, then return either the score
+         // or it's negative value.
+         // Do this only if "ScoreWhite" is TRUE (in ini file) for the
+         // user might prefer it otherwise or some interface may even
+         // require it otherwise.
+         if (option_get_bool("ScoreWhite"))
+            if (colour_is_white(uci->board->turn))
+               uci->score = n;
+            else
+               uci->score = -n;
+         else
+            uci->score = n;
 
       } else if (my_string_equal(option,"lowerbound")) {
 
