Skip to content

Releases: quackle/quackle

Quackle 1.0.4

23 Jul 03:43
Compare
Choose a tag to compare

Thanks to all contributors of 1.0.4!

Note...this release was updated August 6, 2019. If you downloaded an earlier version, please download again, as this contains critical bug fixes. New versions identify themselves as 1.0.4.1 in the About Box.

Features

  • Add the following dictionaries:
    • NASPA Word List (NWL) 2019
    • NASPA School Word List (NSWL) 2019
    • Collins SCRABBLE(tm) Wordlist (CSW) 2019
    • OSPS has been updated to v40; thanks @alkamid!
  • Windows build is 64-bit now (if anybody needs a 32-bit version and can't build if themselves, file an issue requesting it).
  • macOS build app is notarized by Apple and runs in their "hardened runtime", which should make it more compatible with upcoming Catalina release.
  • Added ability to add a logo graphic to the copyrights.txt file. For an example of the logo graphic, see the NASPA logo when you select the NWL or NSWL dictionaries.
  • Made the simulation engine multi-threaded (at present, this defaults to two threads, in addition to the GUI thread). The load balancing is chunky right now, so it's not quite a two times speedup, but it's definitely a lot faster.
  • Strengthen the random number generator used for drawing tiles. #75
  • Upgrade to interface toolkit from Qt4 to Qt5.
  • Add support for UTF-8 GCG files, which fixes GCG issues with player names and some language tile sets. Thanks @alkamid!
  • Support fallback paths for strategy files. Eliminate all duplicate strategy files stored for different lexica, some of which were quite large.

Bug fixes

  • #21 - Committing a phony can't be canceled, even though dialog claims it can.
  • #50 - Non-English languages assigned bogus win %ages on the opening play.
  • (unreported) - Didn't respect the screen scale settings on Windows/Linux.
  • (unreported) - Hang when all players have the same player name.
  • (unreported) - Layout elements in the history/play screen bounced horizontally due to the label next to the rack having the current player's name (which seems unnecessary).
  • (unreported) - License amended to clarify that dictionaries are under a separate license from the software.
  • (unreported) - potential crash when quitting while the Championship Player is thinking.

Code improvements

  • Code now is standardized to C++14, and some related refactorings to simplify the code with new C++ features have taken place.
  • Ruby bindings added. Thanks @martindemello!
  • Separate Python2 and Python3 bindings. Thanks @martindemello!
  • Appveyor builds added.
  • macOS builds added to Travis-CI.
  • Add an initial .clang-format file (expect the sources to be fully clang-formatted after this release).
  • cmake build system added (expect updated documentation and dropping of qmake support after this release).

Quackle 1.0.3

05 Aug 13:39
Compare
Choose a tag to compare

In case you're wondering, I had a 1.0.2 prerelease, but it had a pretty serious bug in it. So I'm just taking it down, and publishing 1.0.3, which has more stuff anyway. The bullet points below aggregate things that were in 1.0.2 and 1.0.3.

  • Add hash to recognize new OCTWL 2016.
  • Updates to Polish dictionary. Thanks @alkamid!
  • Add Turkish lexicon derived from the word list of the open source Zemberek project. Thanks @gokceneraslan!
  • Quackle now works with Windows XP again. #28
  • Fix various encoding issues, and support #character-encoding in gcg files
  • Support Shift+Enter to immediately commit something from the entry input field
  • Fix several problems, including a crash and gcg corruption, which could happen when recording a blind exchange of n tiles, i.e., ex n in the input field. Did this by differentiating a "blind exchange" vs. a regular exchange in the engine.
  • Add filename to the window's title bar
  • When you load a gcg and change a play, it can throw up a dialog box saying that the rack doesn't match your play. Now that dialog allows you to convert the player to a player with unknown racks.
  • Fix tricky problem when entering games using unknown racks that could throw off the tile counts at the end of the game and cause Quackle to trigger a premature game ending. Now it carefully counts all tiles played from the beginning of the game and ensures that each player has the right number of tiles on their racks going into the endgame, regardless of how the "unknown rack" code might have configured the racks. It will even move tiles between players if necessary to prevent a game from ending on the wrong turn.
  • Fix loading of gcgs which have various endgame errors. E.g., if players draw out of order, a game might go more rounds than it should have. Previously, Quackle threw away those extra rounds. Now it preserves them. It also can handle games that end too early because the players played with less than the full tile complement (e.g., a tile left in the bag). You can't enter these positions, yet, but if the position is in the gcg, Quackle won't corrupt it.
  • Add a preferences dialog checkbox to automatically score all unchallenged phoney plays as zero points. This allows score entry for Guinness world record games, which uses this scoring policy.
  • Add SWIG bindings. Thanks @gokceneraslan!

Quackle 1.0.1

09 Nov 05:04
Compare
Choose a tag to compare

Bug fixes on top of Quackle 1.0 (sorry!)

  • "traditional" can now be selected in themes dropdown
  • Windows version was missing some strategy files
  • English dictionaries without superleaves now fall back to using TWL06 superleaves

Quackle 1.0

07 Nov 15:24
Compare
Choose a tag to compare

Quackle 1.0 introduces the following new features:

  • CSW2015 dictionary
  • Ability to create brand new dictionaries. In the lexicon chooser, scroll to the bottom choice, "Add new lexicon..." and open up a raw word list (.raw, .txt) or a .dawg file
  • Ability to edit existing dictionaries. Next to the lexicon chooser, press the Edit button
  • Ability to generate GADDAGs from within the interface. Click "Build lexicon database..." in the Settings pane to do this.
  • All lexicons and configuration files can now be customized and loaded from outside of the layout. User-created lexica are automatically saved in a preferences directory designated by Qt for Quackle
  • New DAWG format. The new format supports MD5 hashes on the dictionary so that you can tell with certainty if you have the dictionary you think you have.
  • New GADDAG format. Uses MD5 hashes to insure that a GADDAG is properly matched to a DAWG.
  • GADDAGs and DAWGs are now a versioned format. So it will be easy to change and upgrade them going forward.
  • The lexicon field picked up a copyrights.txt file which detects appropriate dictionaries by their hashes and automatically decorates them with copyrights.
  • Fix up strategy fallbacks. All English dictionaries will fall back to using TWL06 strategies if they don't have any strategies of their own. All other dictionaries will fall back to using default strategies (which have rather thin coverage right now).
  • Bugs with alphabet lengths were fixed. Alphabets of >32 letters are now supported. Which means creating a Slovak version is now possible.

Quackle 0.98

07 Nov 01:48
Compare
Choose a tag to compare

Quackle 0.98 introduces the following new features:

  • Norwegian dictionary! (Choose "norwegian" alphabet and "norwegian" lexicon. Hat tip Per Steinar Moen.)
  • Polish dictionary! (Choose "polish" alphabet and "osps" lexicon. Hat tip Adam Klimont and Polish Federation of Scrabble.)
  • Color themes
  • Easier board configuration
  • Better behavior with various international keyboards
  • Fixes for OS X Mavericks
  • Code cleanups