/*******************************************************************************
baduK 0.1.1 Alpha - Windows
Release date : 23rd September 2006
README.txt
*******************************************************************************/

baduK is released under the following licences:

Boost Software License - Version 1.0 - August 17th, 2003
THE Q PUBLIC LICENSE version 1.0

baduK is an open Source application hosted by www.sourceForge.net
visit the baduk website at : http://baduk.sourceforge.net/
and the sourceforge website at : http://sourceforge.net/projects/baduk

To contribute, report bugs or feature requests, 
contact the author at : nmclean@users.sourceforge.net


/*******************************************************************************
General Infomation
*******************************************************************************/

The software comes with no game collections.
Professional and Amateur games can be found at :http://senseis.xmp.net/?LinkCollection

To use : 
Add a database of SGF files using the Wizard.
Open a new board and edit it with stones, wholeboard pattern matches will be displayed automatically.
Statistics are shown for the colour of stone to play next.
No help files or further instructions are given at this time, experiment and enjoy!


/*******************************************************************************
Known Issues 
*******************************************************************************/

Note this is an Alpha release and is more a technical preview than a full release.
Hence there WILL be bugs and missing features that are disabled.

Adding a large collection, such as 40,000 files at one time may cause the computer to become slow,
or crash. Generating patterns is memory hungry and the advice is to try closing all other programs
and try again, or alternatively try installing more memory.
Once a database has been created, baduK uses very little memory itself and should be very usable 
on only 256Mb of ram.

Parsing games when adding a Database, may cause a program crash.
Scrolling the Games Tab with the arrow keys held down for a long time may cause a crash.
Analysis letters not displaying when search is enabled.
Games Tab headers dont remember their positions when moved.
Add Games wizard may crash or behave unexpectedly when using the Back button.

If any of these issues happen, my advice is to restart the software.
Chances are it wont happen again. 
If you discover any bugs or can replicate these bugs we would be very interested in hearing from you.
Please contact the developers using the above website or email.


/*******************************************************************************
Sources of information
*******************************************************************************/

binary search - non recursive
http://www.fredosaurus.com/notes-cpp/algorithms/searching/binarysearch.html
http://en.wikipedia.org/wiki/Binary_search

Books:
accelerated c++ 
thinking in c++ vol 1 & 2
C++ CookBook - for examples of boost libray filesystem operations
             - time and date examples
boost c++ library 1.3- used:
shared_ptr - a smart pointer
filesystem - for OS independent operations
date and time libraries
timers and other useful C++ routines.

bubble sort
http://en.wikipedia.org/wiki/Bubble_sort

cpp style guidelines:
PRQA high-Integrity C++ Coding Standards manual http://www.codingstandard.com/
http://geosoft.no/development/cppstyle.html
http://geosoft.no/development/cpppractice.html
http://public.research.att.com/~bs/bs_faq2.html
http://public.research.att.com/~bs/JSF-AV-rules.pdf

fnv-1a 64bit hash - used in duplicate checking - gives 0 collisions tested 56,000 games
gcc optimised version 
www.isthe.com/chongo/tech/comp/fnv/    - for full source and modifications

hash functions - tutorials and source
http://www.partow.net/programming/hashfunctions/
http://eternallyconfuzzled.com/tuts/hashing.html

Icons !! tupperware navigation icons and rubber icon from misc collection
http://www.gbcdepot.com/icone/

Kouhei Taketa - mersenne twisters genrand64 c++ version
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/mersennetwister.zip
and his website
http://www.void.in/wiki/MersenneTwister
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/c-lang.html

make file simple tutorial - linux gcc.
http://mrbook.org/tutorials/make/

problematic - Adam Miller
java go game viewer - some src - go logic
Project hosted at http://sourceforge.net/projects/problematic
also try goproblems.com

Qt Centre - the ultimate Qt Community
For some very helpful answers to any problems with Qt development

Sente goban - stones.png and board images.jpg - many boards and beautifull stones
http://www.sente.ch/software/goban/

serialization of objects c++
http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=129
Also checkout Boost Serialisation library.

zobrist hash - tutorial
http://www.seanet.com/~brucemo/topics/zobrist.htm




/*******************************************************************************
Boost Software License - Version 1.0 - August 17th, 2003
*******************************************************************************/

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.




/*******************************************************************************
THE Q PUBLIC LICENSE version 1.0
Copyright (C) 1999-2005 Trolltech AS, Norway.
*******************************************************************************/

Everyone is permitted to copy and distribute this license document.

The intent of this license is to establish freedom to share and change the software regulated by this license under the open source model.

This license applies to any software containing a notice placed by the copyright holder saying that it may be distributed under the terms of the Q Public License version 1.0. Such software is herein referred to as the Software. This license covers modification and distribution of the Software, use of third-party application programs based on the Software, and development of free software which uses the Software.

Granted Rights
1. You are granted the non-exclusive rights set forth in this license provided you agree to and comply with any and all conditions in this license. Whole or partial distribution of the Software, or software items that link with the Software, in any form signifies acceptance of this license.

2. You may copy and distribute the Software in unmodified form provided that the entire package, including - but not restricted to - copyright, trademark notices and disclaimers, as released by the initial developer of the Software, is distributed.

3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches. The following restrictions apply to modifications:
    a. Modifications must not alter or remove any copyright notices in the Software.
    b. When modifications to the Software are released under this license, a non-exclusive royalty-free right is granted to the initial developer of the Software to distribute your modification in future versions of the Software provided such versions remain available under these terms in addition to any other license(s) of the initial developer. 

4. You may distribute machine-executable forms of the Software or machine-executable forms of modified versions of the Software, provided that you meet these restrictions:
    a. You must include this license document in the distribution.
    b. You must ensure that all recipients of the machine-executable forms are also able to receive the complete machine-readable source code to the distributed Software, including all modifications, without any charge beyond the costs of data transfer, and place prominent notices in the distribution explaining this.
    c. You must ensure that all modifications included in the machine-executable forms are available under the terms of this license.

5. You may use the original or modified versions of the Software to compile, link and run application programs legally developed by you or by others.

6. You may develop application programs, reusable components and other software items that link with the original or modified versions of the Software. These items, when distributed, are subject to the following requirements:
    a. You must ensure that all recipients of machine-executable forms of these items are also able to receive and use the complete machine-readable source code to the items without any charge beyond the costs of data transfer.
    b. You must explicitly license all recipients of your items to use and re-distribute original and modified versions of the items in both machine-executable and source code forms. The recipients must be able to do so without any charges whatsoever, and they must be able to re-distribute to anyone they choose.
    c. If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one. 

Limitations of Liability
In no event shall the initial developers or copyright holders be liable for any damages whatsoever, including - but not restricted to - lost revenue or profits or other direct, indirect, special, incidental or consequential damages, even if they have been advised of the possibility of such damages, except to the extent invariable law, if any, provides otherwise.

No Warranty
The Software and this license document are provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Choice of Law
This license is governed by the Laws of Norway. Disputes shall be settled by Oslo City Court. 
