anchor.diff:                           GameInfo :: echessd_game:info()) ->
                                   HTML :: iolist().
   game_title_message(Session, GameInfo) ->
  +    Winner = proplists:get_value(?gi_winner, GameInfo),
  +    WinnerColor = proplists:get_value(?gi_winner_color, GameInfo),
       case proplists:get_value(?gi_status, GameInfo, ?gs_alive) of
           ?gs_checkmate ->
  -            Winner = proplists:get_value(?gi_winner, GameInfo),
  -            h2(gettext(Session, txt_gt_over_checkmate, [userlink(Winner)]));
  +            h2(gettext(Session, txt_gt_over_checkmate,
  +                       [playerlink(WinnerColor, Winner)]));
           ?gs_give_up ->
  -            Winner = proplists:get_value(?gi_winner, GameInfo),
  -            h2(gettext(Session, txt_gt_over_giveup, [userlink(Winner)]));
  +            h2(gettext(Session, txt_gt_over_giveup,
  +                       [playerlink(WinnerColor, Winner)]));
           ?gs_draw_stalemate ->
               h2(gettext(Session, txt_gt_over_stalemate, []));
           ?gs_draw_agreement ->
  
positive.code:     a(url([{?Q_GOTO, ?SECTION_USER}, {?Q_NAME, Username}]), Username).
  
  %% @doc
  -spec gamelink(GameID :: echessd_game:id()) ->
                        HTML :: iolist().
  gamelink(GameID) ->
  
negative.code:                   proplists:get_value(?gi_type, GameInfo), History);
             true -> []
          end,
      ActiveCells =
          lists:usort(
            lists:append([[[A, B], [C, D]] || [A, B, C, D] <- Hints])),
  