Commit graph

81 commits

Author SHA1 Message Date
Olivier Teulière
0e9711da25 Accept various inputs for the same tile in the Qt interface.
The dictionary format still needs to support that.
2009-06-27 18:09:44 +00:00
Olivier Teulière
da85bde477 First step in accepting various input strings for the same tile: input coming from the text interface is now passed through a conversion method (... which does nothing yet!) 2009-06-23 21:39:07 +00:00
Olivier Teulière
795c44827d Center correctly multi-chars letters in the text interface 2009-06-23 21:36:33 +00:00
Olivier Teulière
fc04b0604b Little refactoring 2009-06-23 15:36:28 +00:00
Olivier Teulière
7569a58bb7 Each letter (tile) now has a display string, defaulting to its internal char. It is not yet possible to change it.
This display string is used in the ncurses and Qt interfaces.

Display strings are types "wdstring" instead of plain "wstring" in a few places (not all of them) to help recognize them.
2009-06-23 12:41:53 +00:00
Olivier Teulière
9b8526b451 Improved error messages 2009-06-21 12:32:25 +00:00
Olivier Teulière
1b585e8a49 Simplified code a little 2009-06-13 21:44:05 +00:00
Olivier Teulière
3d525af762 Got rid of the custom HashTable class: Boost.Unordered provides a better one for free... 2009-05-01 09:04:47 +00:00
Olivier Teulière
b4140b3fea - Fixed some warnings on Windows build
- Open the dictionary in binary mode. This fixes a bug in the Windows version of compdic
2009-02-28 09:23:07 +00:00
Olivier Teulière
66538b4806 Removed support for the old dictionary format. The code becomes simpler and (very slightly) faster. 2008-11-22 13:11:48 +00:00
Olivier Teulière
70be50c64e A lot of clean-up:
- Removed logiv from the History class
 - Used BOOST_FOREACH to simplify loops
 - Remove useless annotations and doxygen blocks
 - Added some constness
 - Marked Training::setRack() as deprecated
 - Improved compilation order in game/
2008-11-22 13:09:28 +00:00
Olivier Teulière
003b403422 - dic_search.cpp: Do not add twice the same word in a 7+1 search (this can happen when using jokers)
- dic_tools_widget.cpp: Allow up to 2 jokers in the 7+1 search
2008-10-30 19:03:07 +00:00
Olivier Teulière
350666b568 - The last commit in cross.cpp fixed a bug but introduced another one, now both are fixed
- Added unit tests for both bugs
 - Fixed another bug preventing to enter some letters in the training rack
2008-10-15 19:43:23 +00:00
Olivier Teulière
12cc41fce7 Core:
- Fixed a crash on Windows
 - Do not authorize words if the cross-checks are invalid (it was possible when playing a joker)
 - Fixed detextion of invalid moves
 - Improved unit tests, and fixed a bug in one of them

Qt interface:
 - Do not allow playing a word if the coordinates are missing
 - Better focus
2008-09-13 21:32:45 +00:00
Olivier Teulière
37359e97c0 - Renamed the binaries: eliot is now the Qt interface, whereas wxeliot is the wxWidgets interface
- Embed the program icon into the executable on Windows: the icon is not visible in Windows explorer
 - Fixed gettext configuration on Windows. The translations now appear, but the accents still don't display correctly.
 - Fixed a few translation issues
2008-09-07 13:17:39 +00:00
Olivier Teulière
990f4c5212 Qt interface:
- Initialize the random numbers generator, and print the seed value
 - Handle properly Qt builds without STL support
 - Save the position of the main window
 - Got rid of the useless toolbar
 - Better size of the preferences dialog
 - Hopefully fixed translation issues on Windows
 - The Settings class throws an exception when asked for a non-existing setting
2008-09-05 21:31:30 +00:00
Olivier Teulière
f5bde7fb4e - Compilation fix for Windows
- Display the Eliot icon
 - Improved printing
 - Allow changing the level of computer players
 - Generate automatically a default name for players
 - Translate Qt's own strings (only works on Linux at the moment)
2008-09-03 17:28:27 +00:00
Olivier Teulière
75a67b28a5 Dic:
- Throw an exception if a regular expresison is invalid
 - Handle the exception in callers code

Game:
 - Fixed a bug in setRackRandom()

Qt interface:
 - Display the dictionary name in the status bar
 - Implemented printing
 - Translation of the interface into French. The menus have temporarily lost their accelerator keys in English.
2008-08-31 11:48:11 +00:00
Olivier Teulière
a32f1b7aaf Dic:
- regexp search results are now in uppercase, like other results
 - the regexp search indicates if there are more results than the maximum
   allowed
Qt interface:
 - new window with some dictionary tools: check word, word+1 and regexp search
2008-08-27 21:20:03 +00:00
Olivier Teulière
468951ca0f Cosmetic change 2008-07-28 20:24:06 +00:00
Olivier Teulière
cad582d912 Fixed a off-by-one error. 2008-07-28 18:37:09 +00:00
Olivier Teulière
2b161abd2c Added consts, renamed a class, and simplified the code using vectors 2008-07-27 15:28:50 +00:00
Olivier Teulière
90badeca21 - Fixed a bug in the parser, preventing to parse correctly some regular expressions with wide chars. The regular expressions seem now to work fine with a dictionary using polish words.
- More C++ in the automaton code
 - Simplified the code in several places
2008-07-27 13:32:47 +00:00
Olivier Teulière
7ea51d2f23 Compilation fixes for some systems (missing headers) 2008-07-20 12:15:51 +00:00
Olivier Teulière
0bfcad6d58 Various little fixes to the regexp engine to support wide characters.
It now works fine on any dictionary using non-ASCII characters!
2008-07-13 07:55:47 +00:00
Olivier Teulière
11adaba410 - Added several tests for the regular expressions engine
- New regexp parser using Boost.Spirit. Lex and yacc are now gone.
   The main advantage of this new parser, apart from being purely C++,
   is that it can handle wide characters.
   Currently, the new parser does the same as the previous one, but the
   code is not yet ready to use regular expressions with non-ASCII
   dictionaries.
2008-07-07 17:29:59 +00:00
Olivier Teulière
414baa8d7a - Use vectors instead of lists to store the results of dictionary searches
- New parameter to most search functions, allowing to limit the number of results.
   No interface uses it yet.
2008-03-02 18:45:10 +00:00
Olivier Teulière
099d531177 Indicate that the input of compdic should be sorted and without duplicate entries 2008-02-24 11:30:56 +00:00
Olivier Teulière
f19bc036f8 - Handle the BOM properly if it is present
- Ignore empty lines even if the file format is not the native one
2008-02-22 20:30:01 +00:00
Olivier Teulière
7d81fc5420 Fixed the crossword search (the new dictionary is more sensitive).
Anyway, this search is useless since the same can be done with a regexp...
2008-01-19 21:34:58 +00:00
Antoine Fraboulet
6c831c5534 - add compile-time dependences to compile erl.lpp and erl.ypp from a CVS checkout 2008-01-13 20:26:04 +00:00
Olivier Teulière
572b31c64e - dic/encoding.cpp: simplification (this also removes a warning)
- game/rack.*: added a missing const
 - game/game_io.cpp: fixed a compilation warning
2008-01-11 10:09:26 +00:00
Olivier Teulière
81e980104f - Board::GetLetterMultiplier() and Board::GetWordMultiplier() are now static
- Added 2 convenient getters: Dictionary::getName() and Bag::getDic()
2008-01-09 10:48:19 +00:00
Olivier Teulière
ba230eda60 - Bumped version number to 1.6
- Used the -Wall option of automake, and fixed the reported warnings
 - Updated french translation
2008-01-08 16:09:08 +00:00
Olivier Teulière
e7a8d01a8d Merged the "cppdic" branch back into HEAD.
There are too many change to list properly, here is an overview of the main changes:
 - the dictionary is now in C++
 - the dictionary has a new format, where it is possible to specify the letters,
   their points, their frequency, ... It is backwards compatible.
 - Eliot now supports non-ASCII characters everywhere
 - i18n of the compdic, listdic, regexpmain binaries
 - i18n of the wxWidgets interface (now in english by default)
2008-01-08 13:52:32 +00:00
Antoine Fraboulet
d86bd2af4a - 32/64 bits types
- unused function parameters
2007-08-04 20:01:27 +00:00
Antoine Fraboulet
33e5b23004 - automake 1.10 (ylwrap) naming system modification 2007-08-04 19:57:45 +00:00
Olivier Teulière
5a10ec911a Fixed my previous commit 2006-10-14 10:19:12 +00:00
Olivier Teulière
ae67aa71ee Do not perform any dictionary search on a zero-length intput. This was the case due to the Refresh methods in the wxWidgets interface, during a search.
What's more, since wxWidgets is very slow to handle the list of results (benjamins in particular), a search done with the search windows open seems more responsive.
2006-10-14 09:46:15 +00:00
Olivier Teulière
0683b6a516 Fixed more memory leaks of the same kind 2006-10-08 18:24:17 +00:00
Olivier Teulière
749db006f6 Fixed a memory leak 2006-10-08 18:12:17 +00:00
Olivier Teulière
ba11fc3be6 Removed another useless include 2006-09-30 22:19:17 +00:00
Olivier Teulière
8519a4d794 Removed useless includes 2006-09-30 22:11:56 +00:00
Antoine Fraboulet
86c65ebc4a - add load dictionnary functions for bigendian arch
regression test is ok on linux/ppc
2006-04-16 11:27:19 +00:00
Olivier Teulière
77be2e9219 Backport of the 'multibyte' branch on HEAD. 2006-01-22 12:23:52 +00:00
Antoine Fraboulet
c44a16dc13 - small typo fix in comments
- add doxygen file description
  - revert Dic_chr / board_search patch
    returning the character instead of the code
    was a HUGE performance penalty
    The dictionary must use codes, the board must be
    made to use codes instead of dic using tiles.
  - add Dic_char and Dic_char_lookup as temporary
    fixes for board_search. Should modify Board and Cross class
    instead.
  - create dic_code_t type
2006-01-01 19:51:00 +00:00
Olivier Teulière
96fe9f22b1 Dic_chr returns the actual char, not a code between 0 and 31.
Dic_lookup takes a string containing real chars, not codes.
The idea is to hide the internal representation of the characters from the
users of the dictionary, who don't care about it.
2005-12-24 18:42:44 +00:00
Olivier Teulière
a9e51998f8 Fixed a segfault 2005-12-24 16:49:26 +00:00
Olivier Teulière
b54b760677 Backported modifications in dic/ 2005-11-05 17:56:22 +00:00
Olivier Teulière
fe13a5e627 Removed the $Id:$ lines on HEAD 2005-11-04 20:00:05 +00:00