Commit graph

408 commits

Author SHA1 Message Date
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
597673e8e5 Fixed an invalid read when sorting the search results and adapted regression scenarii 2008-07-04 19:03:12 +00:00
Olivier Teulière
cc70ccabef Fixed typos 2008-07-03 20:14:46 +00:00
Olivier Teulière
c7f85ce151 - Search results with the same score are now sorted alphabetically
- Adapted test scenarii for the new order of results
2008-03-03 22:13:58 +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
3c52637b93 Copyright and email address updates 2008-02-22 20:46:46 +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
0acc5cd48f Do not try to complete the rack when no letter was removed 2008-02-12 21:02:39 +00:00
Olivier Teulière
52b7363888 Players are not created by the Game object anymore but by the user of the class.
This allows more flexibility, in particular to choose the type of player or its name.
2008-01-28 19:17:33 +00:00
Olivier Teulière
009ac85148 Fixed the colours in the history widget, when rack and solution are not on the same line 2008-01-27 20:17:10 +00:00
Olivier Teulière
9afebca0c2 - Allow sorting the training results
- Added auxiliary windows for the history and the external board
 - Gave a title to auxiliary windows and remember their position (more or less) and size
 - Auxiliary windows do not survive anymore after the main one
 - Preferences are now stored in a sensible place
2008-01-26 23:03:32 +00:00
Olivier Teulière
457b368ae7 Qt interface:
- Ensure unicity of players names (in the interface only, not the core)
 - Update the main window title with the game type
 - Display the player name in the history
 - The history widget is now able not to align the rack and the corresponding word
 - The dictionary path is remembered in the preferences
 - Ask for confirmation when loading a dictionary in the middle of a game
 - Preview tiles are coloured differently, and joker characters are in lowercase
2008-01-26 16:58:46 +00:00
Olivier Teulière
d8780822c2 - Fixed a bug due to the reject sign '-' preventing to load a saved training game
- Qt interface: Loading and saving a game is now supported (it only works in
   training mode, due to limitations in the core)
2008-01-26 10:10:50 +00:00
Olivier Teulière
f0b41f7ee7 Qt interface: First version of a dialog for preferences.
The preferences are not peristent yet.
2008-01-25 18:42:59 +00:00
Olivier Teulière
cba81de777 Qt interface: added support for training mode 2008-01-24 20:18:00 +00:00
Olivier Teulière
a5cefebd3f - New HistoryTabWidget control to display all the histories in a convenient way
- New PlayerTabWidget control to simplify the code in MainWindow
 - Simplification and uniformization of signal handling when the Game object is changed or updated
 - Improved the general layout a little bit (but the resizing behaviour is far from perfect)
2008-01-22 15:30:20 +00:00
Olivier Teulière
0bcc2c0930 Very beginning of a Qt interface. Status:
- the multiplayer modes are more or less playable
 - the training mode is not playable at all
 - the current layout is still experimental
 - many dialogs and options are missing
 - tested on Linux only

There are still hundreds of things to do...
2008-01-20 18:40:12 +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
Olivier Teulière
0a4b342f78 - Players can now have a name
- Use player names in the ncurses interface
 - In training mode, create the hidden player in the constructor, not in start()
 - When the AI has nothing to play, change the letters instead of simply passing
 - New Makefile to build the win32 dependencies automatically (INSTALL file updated)
2008-01-19 19:33:08 +00:00
Olivier Teulière
8c3708fa99 - Removed Game::setRackRandomOld() (replaced by Game::setRackRandom())
- Adapted regression scenarii
2008-01-15 14:56:38 +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
4c3b6db665 Release 1.6 is done, so bump version number to 1.7-cvs 2008-01-13 19:01:43 +00:00
Olivier Teulière
1b16dbd0cc Updated the NEWS file and added it to the generated win32 package 2008-01-13 18:19:10 +00:00
Olivier Teulière
6138130800 - Fixed language detection on Windows
- Slightly improved the translation
 - Added the 'package-win32-zip' target to ease win32 deliveries
2008-01-12 20:42:25 +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
7e7f7f2dfa - wxwin/mainframe.cc: Fixed a crash occurring when no config file is found
- Fixed a bug occurring in duplicate mode: sometimes the game ended too early,
   while it was still allowed to go on.
   Also updated the corresponding regression scenario
2008-01-10 10:23:36 +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
1e5c1cdd9f Fixed make distcheck with recent automake: there is no need to distribute mkinstalldirs! 2008-01-08 16:33:55 +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
5199b6b7c1 Cosmetic changes 2006-12-23 16:48:15 +00:00
Olivier Teulière
831c578c3a Use Unix file fornat 2006-12-23 13:57:08 +00:00
Olivier Teulière
421d0a29b1 Fixed a few char/wchar_t issues. The remaining ones need a wchar_t-aware dictionary 2006-12-23 13:50:43 +00:00
Olivier Teulière
21c07afee4 Removed useless files 2006-11-05 17:24:32 +00:00
Olivier Teulière
9949225b8b Fixed a nasty bug, due to the way jokers are handled 2006-11-05 17:04:39 +00:00
Antoine Fraboulet
f0949a59de - adding some tests : training_joker2 still fails, no clue where it comes from
search should find much more results - regression from 1.4
2006-11-05 13:34:27 +00:00
Antoine Fraboulet
5b8cbbe680 - correct typo on alignment 2006-11-05 13:31:49 +00:00
Antoine Fraboulet
ec3a91e444 - _wtoi correction 2006-11-05 13:30:54 +00:00
Antoine Fraboulet
603a75a98c - extra debug output command for board cross info
- simplified cross class
- bug fix on cross information handling during backward moves
2006-11-05 13:30:06 +00:00
Antoine Fraboulet
70041c80b3 - extra debug output command for board cross info 2006-11-05 13:27:49 +00:00
Olivier Teulière
aeb3cdb781 Fixed a bug in the wxWidgets interface: after a search has been done, choosing "Complement" empties the results list, even is the rack stays the same.
Before this fix, the sequence "Tirage --> Rechercher --> Complement --> click on another result" was doing invalid memory reads...
2006-10-15 10:39:11 +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
95ebd73a80 Do not crash when there is no dictionary and a search is requested 2006-10-08 12:39:13 +00:00