11.05.2004 (by krzysio2)
-- handle_args zwraca bool, w zaleznosci od tego czy byly poprawne argumenty
-- zamiast string_to_int() jest #define string_to_int atoi
-- gdy --bombs=0 to zwracamy blad, gdyz 0 oznacza nieustawiona liczbe bomb
-- dodane newline'y na koncach plikow
-- w box_put(boxes.C) game jest przekazywane przez referencje
-- operator== klasy XY przyjuje referencje do ustalonego argumentu (const XY &)
-- w where2pos zamiast case'ow wystarczylo wstawic where+10
-- uogolnione crement() - dziala poprawnie dla duzych sign
-- jednak dziala --bombs=0

11.05.2004 (by marmarek)
-- nawiasy w funkcji string_to_int pomagaja wyeliminowac warning
-- boxtype::autorec2 (druga zmienna do AI)
-- procedura kilo_refresh(saper.C);
-- zaczatki AI w bomb_check(saper.C);
-- newline'y na koncach plikow

11.05.2004 (by olorin)
-- zamiast string_to_int atoi (bez define'a).
-- zmienna income::start (nie potrzebna)
-- procedura put_box_hidden(boxes.C) zamiast: game.hide_mode=1; put_box();
-- algorytm AI marka <-- pewne uogolnienia dotytczace butelki Kleina
-- _box_move_hidden w algorytmie AI
-- kilo_refresh --> the_board::refresh_all();
-- mega_refresh --> pokazuje wszystko --> show_all(); testowo jako 'L';
-- classTheboard podzielone na dwie czesci (classTheboard1.C, czyli smieci)
oraz (classTheboard2.C, ktora prawdopodobnie sie bedzie rozrastac)
-- sztuczna inteligencja (projekt Marka) przeniesiona do game.C
dzieki czemu latwiej bedzie nanosic poprawki.

22.05.2004 (by olorin)
-- poruszanie sie po butelce Kleina (2)
-- status (dzialajacy): classStatus.C
	bool status::string (const char*, the_board) //przyjmuje napis w statusie.
   game.footer (klasa statusu)
   game.footer.make_all (wyswietla wszystko)
   game.footer.time_update (poprawia czas)
   game.footer.string (zmienia napis)
-- zegar (sekundowe naliczanie)
-- the_board::seen poprawia juz uncovered
-- the_board::free poprawia juz cracked
-- make_defaults teraz jest w defs::make, dzieki czemu mamy o 6 include'ow mniej w saper.C
-- pauza (robi wszystko co trzeba poza zatrzymywaniem czasu ;)
ale tego nie poprawiaj . ja sie tym chce zajac.
-- pauza juz dziala dobrze.

25.05.2004 (by olorin)
-- Wreszcie poprawiona butelka.
-- Procedura XY::move przyjmuje (the_board&, int where, int how)
How moze miec 4 znaczenia:
	0 -> przesuwa modulo.
	1 -> przesuwa do krawedzi (pozniej zwraca XY(-1,-1)).
	2 -> przesuwa po Kleinie zmieniajac orientacje.
	3 -> przesuwa po Kleinie nie zmieniajac orientacji.
-- Funkcja przegrywania czasami dziala (zaczyna gre od poczatku).

06.06.2004 (by olorin)
-- Wszelkie poprawki wprowadzone zostaly przy pomocy edytora vim
	(wreszcie nauczylem sie jako-tako go obslugiwac) :P
-- Funkcja wykrywajaca przegranie znajduje sie w 
the_board::seen(XY,bool), dzieki czemy dziala jak trzeba.
-- Przy kompilacji date automatycznie wgrywa sie do helpa.
-- Status pokazuje rozne napisy startowe w zaleznosci
od szerokosci terminala. (4 do wyboru)
-- Pomyslalem o sytuacji w ktorej jest wiecej niz 999 pol.
-- Jezeli zaznaczymy wiecej min niz jest+99 to zobaczymy <LF:-99>
to znaczy: mniejszych wartosci nie bedzie wyswietlal.
-- Zrobilem blokade i nie bedzie mozna odpalic sapera na termie
o mniejszej geometrii niz: "73x10". Do sprawdzenia parametrow
program nie odpala ncursesow tylko korzysta z <term.h> (!)
-- Zalozylem blokade: nie mozna miec wiecej niz 999 bomb, 
w przeciwnym razie bardzo by sie chrzanil status.
-- Funkcja the_board::finish() obsluguje przypadek przegrania. 
Wywoluje show_all i czeka wgetch(win(cursor)); Pozniej sie tym
zajme, i zrobie cos bardziej sensownego.
-- Dodalem zmienna prywatna the_board::finished.
-- W koncu wzialem sie za zrobienie porzadnego Makefile'a
-- opcja -pedantic wyplula strasznie duzo roznych swinst !!

19.06.2004 (by olorin)
-- udalo mi sie zrozumiec wszystkie warningi i je naprawic.
-- dorobilem funkcje status::lost(the_board&)
-- bomby zle zaznaczone po przegraniu zaznaczaja sie na "X"
-- po przegraniu pojawia sie ladny prompt "again [Y/n]?

05.07.2004 (by olorin)
-- dwie funkcje: surf2move i surf2curs przekladaja numerek
plaszczyzny na numerek do XY::move
-- dodalem plaszczyzne - torus - numerek 3.
-- zmienna dotyczaca wyjscia z programu znajduje sie w:
game.defaults.quit
-- zmienna game.defaults.lang mowi o jezyku interfacu -
1-angielski; 2-english
-- plik lang.C, ktory pozniej zostanie gdzies przeniesiony
zawiera funkcje _, S_, M_, L_, XL_ przekladajace lancuch
na komunikat w danym przez game.defaults.lang jezyku.
-- maly bledzik w input.h (supergetch jest typu int)

18.08.2004 (by olorin)
-- plik lang.C zostal przeniesiony! katalog lang/ jest teraz
zawansowanym modulem ktory interpretuje pliki *.lang, 
zawierajace lancuchy komunikatow na plik lang.C. Interpreter
napisany w bashu nazywa sie lang2C.
-- "PAUSE" przetlumaczone na "PAUZA" :)
-- saper przyjmuje argumenty --lang=LANGUAGE i -lLANGUAGE,
i wstawia do game.defaults.lang odpowiednia wartosc.
-- nowy --help (wiecej tresci, mniej formy)
-- --FHF, czyli o nas (info o mailach, czyli gdzie kierowac
bugreporty). Jakbyscie mieli pomysl co tu wpisac, powiedzcie.
-- napisalem jakies badziewne INSTALL. Trzeba je jeszcze bedzie
mocno przerobic.

23.08.2004 (by olorin)
-- funkcja wygrywajaca (the_board::winner) dziala analogicznie
do przegrywajacej: wyswietla komunikat i zadaje pytanie 
o ponowienie gry
-- troszke ladniejszy INSTALL

24.08.2004 (by olorin)
-- nastapily zasadnicze zmiany strukturalne - oddzielilem pliki
scisle zwiazane z saperem od tych bardziej uniwersalnych.
Pomoze to w uogolnieniu programu na "zbior gier tekstowych".
Bedzie mozna dopisac kolko i krzyzyk, szachy itd. oraz przylaczyc
"snejka", ktorego napisalem wraz z MichalemPi.

07.09.2004 (by marmarek)
-- powstala dokumentacja

08.09.2004 (by olorin)
-- troszke zmian w nazewnictwie.
-- eskejpem mozna wychodzic.
-- punkty sie licza.

12.09.2004 (by krzysio2)
-- dokumentacja powstala bardziej.