summaryrefslogtreecommitdiff
path: root/quacker/quacker.cpp
AgeCommit message (Collapse)Author
2025-08-18Stop process when solve returns movespommicket
2025-08-17Integrate endgame solverpommicket
2025-08-15Solving, but something's brokenpommicket
2025-08-13Various code cleanup, fix issues with move boxpommicket
2025-08-12Integrate Macondo into move chooserpommicket
2025-08-12add move boxpommicket
2025-08-08MacondoBackendpommicket
2025-08-07give turn number to macondopommicket
2025-08-07send position to macondopommicket
2025-08-07Add macondo tab, run processpommicket
2023-07-19Fix QMessageBox deprecations.John Fultz
Qt6 complains about the versions of the static function signatures we’re using for generating various QMessageBoxes. Except for the “Show plaintext board” dialog, which seems to be having some “special” issues in Qt6.
2023-07-19Fix integer size compiler warnings.John Fultz
2023-07-18Fix Qt6 MOC compilation on some platforms.John Fultz
That was super painful. It seems that some of the Quackle types that have custom operator==() give fits to the MOC compiler when those types are used as arguments for slots and/or signals (or maybe it's only when they're connected in a certain way...frankly, I never did figure this out precisely to my satisfaction). The compilers provide very little help in resolving this problem. Once I understood the problem, VS22 was giving me just the tiniest morsel, enough that I could hunt down the offending slot/signal (it wasn't even giving me the name of the slot/signal...just the type it was trying to use). I've changed all offending functions to use const pointers to types instead of const references, and this makes Qt happy. I couldn't find any info on the web directly about this, but here's the closest I did find, which suggests that this is related to increased functionality in Qt6 regarding reflection. https://forum.qt.io/topic/141434/ This fixes my VC++22 x86-64 build. Hopefully it fixes all of the others, too.
2023-07-17Fix up std:: namespace hygiene.John Fultz
* Remove all uses of `using namespace std` from header files (although a few specific cases of things like `using std::vector` remain) * Move all existing uses of `using namespace std` in cpp files to after the header includes * Make coordinating changes so it builds again. Qt6 builds on Windows were breaking because of namespace collision between std::byte and some version of `byte` in one of Qt's namespaces. That breakage is now fixed. It would be good to systematically clean up all `using` declarations in header files to ensure nothing is leaking out, but that's for another time.
2023-07-16Make UTF8-encoding of QTextStream work in Qt5 and 6.John Fultz
QTextStream::setCodec() is no longer a thing in Qt6. Most of our call are to set the codec to UTF-8, which happens to be the default encoding in Qt6. So make a macro so this can compile in both Qt5 and Qt6.
2023-07-16Fix up some Qt signals.John Fultz
Some of the signals we’re using aren’t supported or working in Qt 6. Refactor for things that are working and documented.
2020-07-23Remove obsolete bullet point from "Helpful Hints" message box.John Fultz
2020-06-17Xcode compiler warnings.John Fultz
* Replace std::random_shuffle() with std::shuffle(). * Populate switch statements which were checking the Move enums, but not Move::PlaceError. * endl -> Qt::endl for QTextStream usage. * QString::SkipEmptyParts -> Qt::SkipEmptyParts * QLabel::pixmap() now takes Qt::ReturnByValue * Use QElapsedTimer where appropriate.
2019-08-11Fix "Verify Play" dialog.John Fultz
If a play was made from tiles not on the rack, it brings up the "Verify Play" dialog, to which one of the options is to cancel the play. But canceling the play didn't work. Now it does.
2019-07-28Update version to 1.0.4.1.John Fultz
Rereleasing with just a couple of bug fixes, and may need to be able to tell the difference between releases in the wild.
2019-07-21Visual C++ compiler warning fixes.John Fultz
Mostly signed/unsigned/size_t mismatches, except for one case treating a bool as an integer.
2019-07-19Fix deprecation errors for Qt 5.13.John Fultz
Most are Qt4-isms, except where noted. * Replaced QFontMetrics::width with QFontMetrics::horizontalAdvance, conditionally as the latter wasn't even introduced until Qt 5.11. * QColor::light and dark instead of QColor::light and dark. * QString() instead of QString::null. * std::sort instead of qSort * QTreeWidgetItem::setSelected instead of QTreeWidget::setItemSelected. * QFileDialog::setOption(QFileDialog::DontConfirmOverwrite) instead of QFileDialog::setConfirmOverwrite(false). * QDrag::exec instead of QDrag::start.
2019-05-06About box fixes.John Fultz
Re-sort copyrights so newer ones show up first. Exclude copyright.txt lines from about box if they don't have an actual copyright.
2019-05-06Add ability to include logo in copyrights.txt.John Fultz
Add NASPA logo for its dictionaries. Add a separator between settings and copyright for clarity. Tighten up vertical spacing in the settings panel.
2019-05-06Update copyright in about box.John Fultz
2019-02-04After discussion with Jason/John, add myself as a copyright holder.John Fultz
Also, extend copyright to 2019.
2019-01-14Fix #21, committing a phoney cannot be canceled.John Fultz
When going back to edit history, typing a phoney correctly brought up a dialog, but indicating you wanted to cancel the phoney play didn't stop the play from going down, or a subsequent computer player from making its play.
2019-01-14Fix infinite loop if you give all players the same name.John Fultz
2019-01-13Add a separator above "Simulation" group box to break up the GUI better.John Fultz
2019-01-13C++11-style iterators in quacker sources.John Fultz
2019-01-13Fix potential crash on exit.John Fultz
Start Championship Player, then exit while the player is still thinking could crash.
2017-08-09Prevent console warnings re missing [*] in window titles.John Fultz
2017-08-02Bump version number to 1.0.4.John Fultz
2017-08-02More Qt5 changes and cleanups.John Fultz
Now builds on Qt 5.9.1, and works on Mac, Windows, Linux.
2017-08-02Merge pull request #37 from gokceneraslan/qt55John Fultz
Port quackle to Qt 5.5
2016-08-03Bump version to 1.0.3.John Fultz
2016-07-07Increment version number and copyright date.John Fultz
Also, fix a typo and remove dead code.
2016-07-07Allow games loaded from gcg to switch to unknown racks.John Fultz
When the message box that says you made a play which uses tiles not on your rack comes up, it now has a third option...switch to player with unknown tiles. So, you'll get this message box at most once per player if you choose that option.
2016-07-07Put filename in window title.John Fultz
2016-07-03Fix problems with "ex n" where n is a number.John Fultz
Found a crash where you enter "ex 4" twice, and it would crash. This led me to look up how this was implemented, and it wasn't very robust. It also didn't save properly in the GCG. So I created a new move type which I called a BlindExchange and implemented it throughout the system.
2016-07-03Add a scoring option preference.John Fultz
A checkbox in the preferences dialog now allows you to configure Quackle so that plays with illegal words which are left unchallenged score zero. Obviously, off by default. But useful for entering games as part of the Marty Gabriel/Scott Garner world record scoring attempt. This is apparently what the Guinness folks are looking for.
2016-07-02More character encoding stuffJohn Fultz
A few character encoding things that had still been missed, and preliminary support for #character-encoding in GCG files.
2016-01-15Yet more places with bad streaming encoding.John Fultz
Okay...I think this fixes all file streams to be UTF-8 except for GCGs, which require less trivial effort.
2016-01-12Port Quackle to Qt 5.5Gökçen Eraslan
2015-11-08Fix #8, last choice in theme and alphabet combox didn't work.John Fultz
I had reserved the last spot for "Add new theme/alphabet", but then abandoned that feature for v1. But forgot to rip out the code handling it. Bump version number to 1.0.1.
2015-11-07Fix about box.John Fultz
Windows build uncovered a bad assumption about QTextStream supporting atEnd(), and the stream needed to be explicitly set to UTF-8.
2015-10-14Convert dictionaries, add csw15.John Fultz
* All dictionaries are now in v1 DAWG format. * Three corrupt dictionaries were removed. * Implement a way to tag dictionaries for copyright purposes. * CSW15 is now a thing.
2015-08-18Cleanups and bump the version number.John Fultz
2014-11-29Update version, about, and hint text.John Fultz
2014-09-02Change GPL file headers to v3.John Fultz
Not a very interesting commit...only changes in comments.